addr2line showing wrong function name: "local" text symbol not "global"

472 Views Asked by At

This may be due to using a rather old OS (RHEL 4) or compiler (g++ 3.4.6), but wondering if anyone has seen this.

Using nm, I can see that a single function gets split up by several local text symbols (type 't') of the form .LXXXX where X are digits, eg .L5156. The global text symbols (type 'T') are the actual function names.

But addr2line seems to treat local text symbols as valid function names. So if I give it an address following a local text symbol it returns that as the function name.

Any suggestions on how to fix this? (Without upgrading OS or compiler...which I accept might be impossible...)

0

There are 0 best solutions below