-
Notifications
You must be signed in to change notification settings - Fork 18.2k
cmd/compile: fix duplicated dwarf parameters for some functions #61529
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
base: master
Are you sure you want to change the base?
Conversation
Dwarf formal parameters appear more than once in the final dwarf symbols for some functions. I believe there is an error up the chain where the vars are created and some of them are pushed more than once to the list. I ended up implementing a simple dedup mechanism to get rid of the duplicates up the chain, but this should be investigated deeper in a follow up ticket in order to find the root cause. The testing routine `findSubprogramDIE` was updated to panic in case it received duplicated formal parameters since this bug probably existed for quite a while and it was never discovered since this function basically pushes into a map indexed by the var name. A test has been added to cover this case as reported in the original issue ticket. Fixed: golang#61357
This PR (HEAD: 8c02b2e) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/512197. Important tips:
|
8c02b2e
to
44bf888
Compare
This PR (HEAD: 44bf888) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/512197. Important tips:
|
Message from Mauri de Souza Meneguzzo: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/512197. |
This PR (HEAD: b153e67) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/512197. Important tips:
|
Message from [email protected]: Patch Set 4: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/512197. |
Message from Mauri de Souza Meneguzzo: Patch Set 4: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/512197. |
Message from Mauri de Souza Meneguzzo: Patch Set 6: Run-TryBot+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/512197. |
Message from Gopher Robot: Patch Set 6: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/512197. |
Message from Mauri de Souza Meneguzzo: Patch Set 6: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/512197. |
Message from Gopher Robot: Patch Set 6: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/512197. |
Message from Gopher Robot: Patch Set 6: TryBot-Result-1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/512197. |
Dwarf formal parameters appear more than once in the
final dwarf symbols for some functions. I believe there is an error
up the chain where the vars are created and some of them are pushed
more than once to the list.
I ended up implementing a simple dedup mechanism to get rid of the
duplicates up the chain, but this should be investigated deeper in
a follow up ticket in order to find the root cause.
The testing routine
findSubprogramDIE
was updated to panic in case itreceived duplicated formal parameters since this bug probably existed
for quite a while and it was never discovered since this function
basically pushes into a map indexed by the var name, overwriting the
last value.
A test has been added to cover this case as reported in the original
issue ticket.
Fixes #61357