demangle exception tracebacks #78
Labels
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: M-Labs/artiq-zynq#78
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
currently prints e.g.
In ELF symbol mangling conventions private symbols are prefixed with
.L
.I'm still looking for what was different with or1k. I'm not getting many symbols generated at all...
Possible ways going forward:
comm_kernel.py
, then demangle once moreIt seems that the
.L
prefix is added by the linker to indicate that is a local symbol.By adding the
-x
flag, the linker would discard all local symbols, so the local symbols would not be shown in the symbol table, and the prefix would not be added.From the
--help
output, it seems thator1k-linux-ld
shares the same default witharmv7-unknown-linux-gnueabihf-ld
regarding discarding local symbols, they are both default to-X --discard-locals
(Discard temporary local symbols), but I am not sure if that is a documentation problem in the or1k linker as this does not match the actual behavior...It there any issue on or1k if we use
-x
there?No, probably that is a documentation error in
armv7-unknown-linux-gnueabihf-ld
.It seems that the default is
--discard-none
.-X
flag would already remove those symbols from the symbol table. However, it causesaddr2line
to find the wrong symbol...-x
would just work.Example of
-X
output:No. Actually, setting
-x
,-X
or--discard-none
would have no effect for or1k for whatever reason.OK, so we can simply add
-x
all the time and that would fix the issue on ARM and not cause regressions on or1k. Correct?For the simple case above that I've currently tested, no regression.
OK. Please just commit the change to the ARTIQ master branch.
Should be fixed in commit 3bfd372