Backtrace_symbols and .symtab

Andreas Jaeger aj@suse.com
Thu Oct 23 07:23:00 GMT 2014


On 10/22/2014 06:13 PM, Yury Gribov wrote:
> On 10/22/2014 06:53 PM, Yury Gribov wrote:
>> Hi all,
>>
>> Current backtrace_symbols(3) tries to read names of functions in call
>> stack from .dynsym which is usually very sparse compared to ordinary
>> symbol table in .symtab. Even if application is linked with -rdynamic
>> (which may be undesirable due to pollution of dynamic namespace, etc.),
>> .dynsym won't contain static functions, etc.
>>
>> Has anyone considered making backtrace_symbols more .symtab-friendly
>> e.g. allowing users to prefer .symtab to .dynsym if it's available (*)?
>> This would of course be less (probably much less) efficient because
>> .symtab search would be linear (compared to hash table available for
>> .dynsym) but I can imagine usecases where this would be acceptable e.g.
>> printing friendly backtraces on error. AFAIK currently some projects
>> link against libunwind and elfutils for the sole purpose of getting
>> readable backtraces which should be available with glibc.
>>
>> -Y
>>
>> (*) ./elf/sprof.c already does something like this.
>>
> 
> Cc-ed Andreas (though he has just announced that he won't work on glibc
> anymore...).

I'm still on the mailing list, no need to CC me.

Sorry, can't help here,

Andreas
-- 
 Andreas Jaeger aj@{suse.com,opensuse.org} Twitter: jaegerandi
  SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
    GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126



More information about the Libc-alpha mailing list