[Bug binutils/23715] New: addr2line reports null symbol for inline frame
https://sourceware.org/bugzilla/show_bug.cgi?id=23715 Bug ID: 23715 Summary: addr2line reports null symbol for inline frame Product: binutils Version: unspecified Status: UNCONFIRMED Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: mail at milianw dot de Target Milestone: --- Since some time addr2line, and libbfd as used by perf, fail to associate the symbol name to inlined frames. Note the "??" in the output of addr2line in the reproducer below: $ cat test.cpp #include #include #include #include using namespace std; int main() { uniform_real_distribution uniform(-1E5, 1E5); default_random_engine engine; double s = 0; for (int i = 0; i < 1000; ++i) { s += norm(complex(uniform(engine), uniform(engine))); } return static_cast(s); } $ g++ -g -O2 test.cpp $ addr2line -e a.out 766 -if main /usr/include/c++/8.2.1/bits/random.tcc:123 ?? /usr/include/c++/8.2.1/bits/random.h:257 main /tmp/test.cpp:11 I'm using libbfd 2.31.1 with gcc 8.2.1 or clang 6.0.1 currently. eu-addr2line seems to work correctly, which makes me believe it's an issue with libbfd / addr2line from binutils: $ eu-addr2line -e a.out 766 -if _ZNSt26linear_congruential_engineImLm16807ELm0ELm2147483647EE4seedEm inlined at /usr/include/c++/8.2.1/bits/random.h:257:9 in main /usr/include/c++/8.2.1/bits/random.tcc:123:2 _ZNSt26linear_congruential_engineImLm16807ELm0ELm2147483647EEC4Em /usr/include/c++/8.2.1/bits/random.h:257:9 main /tmp/test.cpp:11:27 -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/23715] addr2line reports null symbol for inline frame
https://sourceware.org/bugzilla/show_bug.cgi?id=23715 Milian Wolff changed: What|Removed |Added CC||mail at milianw dot de --- Comment #1 from Milian Wolff --- Created attachment 11274 --> https://sourceware.org/bugzilla/attachment.cgi?id=11274&action=edit correctly pass through name from nested find_abstract_instance calls The attached patch fixes the issue for me. Apparently the compilers generate debug information with nested instance, i.e. find_abstract_instance calls itself in dwarf2.c. In such a scenario, the inner call will correctly set its pname to the name it found. But the outer call will then override it with name = NULL at the end of find_abstract_instance. Fix this by passing the pointer to the name when calling find_abstract_instance from itself. I've tested this patch with addr2line and perf on the example source code provided in the bug report. Both work again with this fix applied! -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/23715] addr2line reports null symbol for inline frame
https://sourceware.org/bugzilla/show_bug.cgi?id=23715 --- Comment #2 from Milian Wolff --- are there really no unit tests for libbfd? -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gold/21066] icf folds template functions with different exception handling semantics
https://sourceware.org/bugzilla/show_bug.cgi?id=21066 --- Comment #5 from Joshua Oreman --- Created attachment 11278 --> https://sourceware.org/bugzilla/attachment.cgi?id=11278&action=edit Proposed fix I believe this patch fixes all the issues described in this thread. I also submitted it to the mailing list: https://sourceware.org/ml/binutils/2018-09/msg00346.html -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils