https://sourceware.org/bugzilla/show_bug.cgi?id=17481
--- Comment #1 from Vincent Rivière <vincent.riviere at freesbee dot f r> --- This bug appeared in binutils 2.23. It worked fine in binutils 2.22. I found the cause: binutils/addr2line.c uses the new function bfd_find_nearest_line_discriminator(). But that one is not implemented in a ll targets. The implementation defaults to _bfd_generic_find_nearest_line_discriminator() which just returns FALSE. In bfd/bfd-in2.h, the definition of BFD_JUMP_TABLE_SYMBOLS() uses directly _bfd_generic_find_nearest_line_discriminator(). Then on major targets (i.e. bfd/coff-i386.c) there is "#define _bfd_generic_find_nearest_line_discrimin ator coff_find_nearest_line_discriminator" to redirect to a different implementation. But on other targets (i.e. all a.out targets), that define is not present. So the default _bfd_generic_find_nearest_line_discriminator() is used, resulti ng in a completely broken addr2line. The attached patch changes the implementation of _bfd_generic_find_nearest_line_discriminator(). Now it delegates the job to _bfd_find_nearest_line(), ignoring the new discriminator parameter. This wa y, addr2line still works on targets not yet aware of the discriminator. That patch fixes the problem. Please consider committing it. -- 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