Skip to content

cmd/compile: add epilogue_begin to DWARF line info #69329

@ajwerner

Description

@ajwerner

Go does not currently (as of go1.23) emit epilogue_begin markers around where functions return. It does emit prologue_end.

The motivation here is that go is not friendly to things like ebpf return probes (uretprobe) because they inject a call frame into the stack (see iovisor/bcc#1320).

What folks do instead is simulate these return probes by finding all of the returns sites by parsing the text of the program (see iovisor/bcc#1320 (comment)). A more general approach that doesn't require access to the binary would be to store the relevant information in the line info.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FeatureRequestIssues asking for a new feature that does not need a proposal.NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.compiler/runtimeIssues related to the Go compiler and/or runtime.help wanted

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions