Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/compile: generated DWARF inlining info #22080

Closed
thanm opened this issue Sep 28, 2017 · 6 comments
Closed

cmd/compile: generated DWARF inlining info #22080

thanm opened this issue Sep 28, 2017 · 6 comments
Labels
Debugging FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@thanm
Copy link
Contributor

thanm commented Sep 28, 2017

Tracking issue for adding DWARF inline info support to the compiler.
This issue is a placeholder -- a link to the design document will follow in the next day or two.

See also related:
mid-stack inlining tracking issue #19348
mid-stack inlining proposal

@thanm thanm added the Proposal label Sep 28, 2017
@gopherbot
Copy link

Change https://golang.org/cl/66910 mentions this issue: design: add DWARF inline info generation design note.

gopherbot pushed a commit to golang/proposal that referenced this issue Oct 6, 2017
Updates golang/go#22080

Change-Id: I9a60d1751397e944b7a80e067e4dadf4ec405bce
Reviewed-on: https://go-review.googlesource.com/66910
Reviewed-by: Than McIntosh <thanm@google.com>
@thanm
Copy link
Contributor Author

thanm commented Oct 23, 2017

Update: it turns out that DW_AT_call_file and DW_AT_call_line attributes in the DW_TAG_inlined_subroutine DIE are more or less required by GDB (without them, it ignores the inlined call records). I am updating the proposal to reflect this requirement.

@gopherbot
Copy link

Change https://golang.org/cl/72750 mentions this issue: proposal: small update to DWARF inlining proposal

gopherbot pushed a commit to golang/proposal that referenced this issue Oct 24, 2017
Update the proposal document to reflect the fact that DW_AT_call_file
and DW_AT_call_line attributes are required for any generated
DW_TAG_inlined_subroutine DIEs. This isn't spelled out as required in
the standard, but it seems to be enforced by GDB, so the compiler will
need to emit these.

Updates golang/go#22080

Change-Id: I467773580ceff7ce4d36ec919685909d43e8addf
Reviewed-on: https://go-review.googlesource.com/72750
Reviewed-by: Austin Clements <austin@google.com>
@gopherbot
Copy link

Change https://golang.org/cl/75550 mentions this issue: compiler,linker: support for DWARF inlined instances

gopherbot pushed a commit that referenced this issue Nov 30, 2017
Compiler and linker changes to support DWARF inlined instances,
see https://go.googlesource.com/proposal/+/HEAD/design/22080-dwarf-inlining.md
for design details.

This functionality is gated via the cmd/compile option -gendwarfinl=N,
where N={0,1,2}, where a value of 0 disables dwarf inline generation,
a value of 1 turns on dwarf generation without tracking of formal/local
vars from inlined routines, and a value of 2 enables inlines with
variable tracking.

Updates #22080

Change-Id: I69309b3b815d9fed04aebddc0b8d33d0dbbfad6e
Reviewed-on: https://go-review.googlesource.com/75550
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
@ianlancetaylor ianlancetaylor added this to the Go1.11 milestone Mar 29, 2018
@ianlancetaylor ianlancetaylor added NeedsFix The path to resolution is known, but the work has not been done. and removed Proposal labels Mar 29, 2018
@ianlancetaylor
Copy link
Contributor

Is there anything left to do here?

@thanm
Copy link
Contributor Author

thanm commented Mar 30, 2018

No, probably best to close this out. I have a few ideas on how to improve testing, but those can be addressed separately.

@thanm thanm closed this as completed Mar 30, 2018
@golang golang locked and limited conversation to collaborators Mar 30, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Debugging FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

3 participants