Skip to content

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

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

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions