[PATCH v3] nptl_db: Support different libpthread/ld.so load orders (bug 27744)

Florian Weimer fweimer@redhat.com
Thu Apr 22 08:33:12 GMT 2021


* Szabolcs Nagy:

> The 04/21/2021 13:47, Florian Weimer via Libc-alpha wrote:
>> * Florian Weimer via Libc-alpha:
>> 
>> > libthread_db is loaded once GDB encounters libpthread, and at this
>> > point, ld.so may not have been processed by GDB yet. As a result,
>> > _rtld_global cannot be accessed by regular means from libthread_db.
>> > To make this work until GDB can be fixed, acess _rtld_global through
>> > a pointer stored in libpthread.
>> >
>> > The new test does not reproduce bug 27744 with
>> > --disable-hardcoded-path-in-tests, but is still a valid smoke test.
>> > With --enable-hardcoded-path-in-tests, it is necessary to avoid
>> > add-symbol-file because this can tickle a GDB bug.
>> >
>> > Fixes commit 1daccf403b1bd86370eb94edca794dc106d02039 ("nptl: Move
>> > stack list variables into _rtld_global").
>> >
>> > ---
>> > v3: Mark test as UNSUPPORTED if launching gdb fails with ENOENT.
>> >     This is the version I'd like to commit soon.
>> 
>> I've pushed this version given that Pedro acknowledged v2.
>
> on the aarch64 buildbot i see
>
> FAIL: nptl/tst-pthread-gdb-attach
>
> $ cat nptl/tst-pthread-gdb-attach.out
> +set debug libthread-db 1
> +add-symbol-file /work/glibc-aarch64-linux/build/build/nptl/tst-pthread-gdb-attach
> add symbol table from file "/work/glibc-aarch64-linux/build/build/nptl/tst-pthread-gdb-attach"
> +set auto-load safe-path /work/glibc-aarch64-linux/build/build/nptl_db
> +set libthread-db-search-path /work/glibc-aarch64-linux/build/build/nptl_db
> +attach 461328
> [New LWP 461329]
> Trying host libthread_db library: /work/glibc-aarch64-linux/build/build/nptl_db/libthread_db.so.1.
> td_ta_new failed: application not linked with libthread
> thread_db_load_search returning 0

Unfortunately I cannot reproduce this with binutils 2.30, GDB 8.2 and
GCC 8.4.1.  Has your environment newer or older versions?

Thanks,
Florian



More information about the Gdb-patches mailing list