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/link: trampoline insertion breaks DWARF Line Program Table output on Darwin/ARM64 [1.19 backport] #54406

Closed
jquirke opened this issue Aug 12, 2022 · 2 comments
Labels
CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime.
Milestone

Comments

@jquirke
Copy link
Contributor

jquirke commented Aug 12, 2022

Please backport #54320 to Go 1.19.

It is not feasible to revert back to versions of Go prior to the linker redesign in 1.15 where this regression has occurred due to the absence of of many new features (especially generics) and security fixes.

Moreover, in the last year ARM64 architectures have gone "mainstream" with Go developers and not being able to use debug binaries with trampolines, including tests is a substantial hindrance to the "magical" experience of Go.

@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Aug 12, 2022
@gopherbot gopherbot added this to the Go1.19.1 milestone Aug 12, 2022
@gopherbot
Copy link

gopherbot commented Aug 12, 2022

Change https://go.dev/cl/423214 mentions this issue: [release-branch.go1.19] cmd/link: fix trampolines breaking DWARF line info

@dmitshur dmitshur added the CherryPickCandidate Used during the release process for point releases label Aug 12, 2022
@joedian joedian added the CherryPickApproved Used during the release process for point releases label Aug 17, 2022
@gopherbot gopherbot removed the CherryPickCandidate Used during the release process for point releases label Aug 17, 2022
@gopherbot
Copy link

gopherbot commented Aug 29, 2022

Closed by merging 62aa930 to release-branch.go1.19.

gopherbot pushed a commit that referenced this issue Aug 29, 2022
… info

When trampolines are needed (e.g. Darwin ARM64), the DWARF LPT (Line
Program Table - see DWARF section 6.1) generation fails because the
replacement symbols are marked as external symbols and skipped during
the DWARF LPT generation phase.

Fixes #54406

Change-Id: I6c93f5378f50e5edf30d5121402a48214abb1ce2
GitHub-Last-Rev: 085bbc5
GitHub-Pull-Request: #54321
Reviewed-on: https://go-review.googlesource.com/c/go/+/422154
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Than McIntosh <thanm@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
(cherry picked from commit 2340d37)
Reviewed-on: https://go-review.googlesource.com/c/go/+/423214
Run-TryBot: Cherry Mui <cherryyz@google.com>
bradfitz pushed a commit to tailscale/go that referenced this issue Sep 8, 2022
… info

When trampolines are needed (e.g. Darwin ARM64), the DWARF LPT (Line
Program Table - see DWARF section 6.1) generation fails because the
replacement symbols are marked as external symbols and skipped during
the DWARF LPT generation phase.

Fixes golang#54406

Change-Id: I6c93f5378f50e5edf30d5121402a48214abb1ce2
GitHub-Last-Rev: 085bbc5
GitHub-Pull-Request: golang#54321
Reviewed-on: https://go-review.googlesource.com/c/go/+/422154
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Than McIntosh <thanm@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
(cherry picked from commit 2340d37)
Reviewed-on: https://go-review.googlesource.com/c/go/+/423214
Run-TryBot: Cherry Mui <cherryyz@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime.
Projects
Status: Done
Development

No branches or pull requests

4 participants