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

debug/elf: duplicate llvm-dwarfdump entries in go1.18rc1 #51725

Open
chengruizhe opened this issue Mar 16, 2022 · 4 comments
Open

debug/elf: duplicate llvm-dwarfdump entries in go1.18rc1 #51725

chengruizhe opened this issue Mar 16, 2022 · 4 comments
Assignees
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@chengruizhe
Copy link

What version of Go are you using (go version)?

go 1.18rc1

Does this issue reproduce with the latest release?

Only with go 1.18

What operating system and processor architecture are you using (go env)?

linux_amd64

What did you do?

I compiled the linked https_server.go with go 1.18rc1, and llvm-dwarfdump https_server to inspect the debug info.
Search for DW_AT_name ("crypto/tls.(*Conn).Write").

What did you expect to see?

I expect the DW_TAG_formal_parameter for return values ~r0 and ~r1 to appear only once in the dwarfdump.
https_server.zip

What did you see instead?

The DW_TAG_formal_parameter for return values ~r0 and ~r1 are duplicated in the dwarfdump.
In go1.17, this doesn't seem to happen.

@chengruizhe chengruizhe changed the title affected/package: duplicate llvm-dwarfdump entries in go1.18rc1 Mar 16, 2022
@chengruizhe chengruizhe changed the title duplicate llvm-dwarfdump entries in go1.18rc1 debug/elf: duplicate llvm-dwarfdump entries in go1.18rc1 Mar 16, 2022
@randall77
Copy link
Contributor

@thanm

@thanm thanm self-assigned this Mar 16, 2022
@thanm
Copy link
Contributor

thanm commented Mar 16, 2022

Yup, that does indeed look buggy. I'll take a look.

@heschi heschi added the NeedsFix The path to resolution is known, but the work has not been done. label Mar 16, 2022
@heschi heschi added this to the Go1.19 milestone Mar 16, 2022
copybaranaut pushed a commit to pixie-io/pixie that referenced this issue Mar 26, 2022
Summary:
1. Add bpf tests for Go 1.18
2. Add a hack for the duplicate Dwarf entry issue: golang/go#51725
3. Address the naming convention change for return values in dwarf for Go 1.18.

Test Plan: Original and newly added tests for Go 1.18.

Reviewers: #stirling, yzhao

Reviewed By: #stirling, yzhao

Subscribers: oazizi, yzhao

Signed-off-by: Ryan Cheng <rcheng@pixielabs.ai>

Differential Revision: https://phab.corp.pixielabs.ai/D10966

GitOrigin-RevId: 63edf12
@ianlancetaylor
Copy link
Contributor

@thanm This issue is marked for 1.19. Should it move to Backlog? Thanks.

@thanm
Copy link
Contributor

thanm commented Jun 24, 2022

Thanks Ian I'll move it. This one didn't make the cut for 1.19.

@thanm thanm modified the milestones: Go1.19, Go1.20 Jun 24, 2022
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jul 13, 2022
@gopherbot gopherbot modified the milestones: Go1.20, Go1.21 Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done.
Projects
Status: Todo
Status: No status
Development

No branches or pull requests

6 participants