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

Szabolcs Nagy szabolcs.nagy@arm.com
Thu Apr 22 09:05:02 GMT 2021


The 04/22/2021 10:33, Florian Weimer wrote:
> * 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?

ubuntu flavour of

gcc 8.2.0
binutils 2.31.1
gdb 8.2

happens on armhf and aarch64 too.


More information about the Gdb-patches mailing list