
On 10/23/2010 03:40 AM, Artyom wrote:
No using ELF data - the symbols available in. My understanding is that the software distributed by RPM these days (since circa 2003) default to having all of the symbol information stripped and distributed in a separate debuginfo package.
To wit:
nm /bin/ls nm: /bin/ls: no symbols
I believe that to get any sort of stack trace out of /bin/ls one would need to first load the symbols from the coreutils-debuginfo package.
Rob
I'm not talking about debug symbols but rather function entry points defined in any shared object:
$ nm /lib/libc.so.6 nm: /lib/libc.so.6: no symbols
$ nm -D /lib/libc.so.6 ... 00000000000864b0 W wcstod_l 0000000000083770 T wcstof 000000000008ace0 W wcstof_l 0000000000040810 T wcstoimax 0000000000081e80 T wcstok 00000000000836b0 T wcstol 0000000000083bf0 W wcstol_l ...
All you need is to compile executables with -rdynamic
Ah. I understand now. But does this mean that the symbols (functions) that are already resolved within my application will not have symbolic names available for the backtrace? My stripped executables only seem to have the undefined symbolic names present in the executable. Rob