[PATCH] Export stack_used as __stack_used
Pedro Alves
palves@redhat.com
Sat Jun 18 11:09:00 GMT 2016
On 06/18/2016 07:52 AM, Andreas Schwab wrote:
> Pedro Alves <palves@redhat.com> writes:
>
>> I think that nptl_version is another symbol that can potentially
>> cause the same problem:
>>
>> nptl_db/structs.def:51:DB_SYMBOL (stack_used)
>> nptl_db/structs.def:52:DB_SYMBOL (__stack_user)
>> nptl_db/structs.def:53:DB_SYMBOL (nptl_version)
>> nptl_db/structs.def:56:DB_SYMBOL (__nptl_threads_events)
>
> I think that DB_SYMBOL should use aliases with a unique prefix instead
> of the variable names directly, and those aliases should be put in the
> dynamic symbol table so that lookup still works if libthread is
> stripped.
Agreed. Requiring not-stripped libpthread used to
be a constant source of trouble for integrators, enough that gdb has a
FAQ entry about it:
https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint
We don't hear about this problem a lot anymore though, I believe because
gdb nowadays does not rely on libthread_db for so many things as it used to.
I seem to remember this having been proposed in the past, but there having
been pushback against putting these symbols in the dynamic symbol table,
because that increases the dynamic symbol table size just for debugging...
If this is no longer a concern, I'm all for it.
Thanks,
Pedro Alves
More information about the Libc-alpha
mailing list