Re: gdb / thread_db / multiple ABI question

Pedro Alves <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 07/07/2017 07:20 PM, Steve Ellcey wrote:

> It makes sense that the LP64 gdb cannot dlopen the ILP32 thread_db that
> corresponds to the ILP32 thread library that the program being debugged
> uses but I don't know what to do about it.
> 
> I looked at x86 and when I compile a 32 bit program there and then debug
> it with a 64 bit gdb I see:
> 
> 	[Thread debugging using libthread_db enabled]
> 	Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> 
> So I am guessing that aarch64 needs to use the 64 bit libthread_db.so.1 even
> when debugging 32 bit programs, is that right?  

Yes.  

Though I have no idea whether an Aarch64 build of libthread_db is
capable of biarch debugging.  It may be that GDB is already trying to
the load the 64-bit libthread_db, but then libthread_db rejects
the inferior for some reason.  The "set debug libthread-db" option should
help you figure that out.  See below.

> What do I need to do to tell
> gdb to do that?  I tried adding /home/sellcey/gdb-ilp32/install/lib64 to
> solib-search-path but that did not help.  I am not sure what triggers the
> difference in behaviour between aarch64 and x86.

See:

(gdb) apropos libthread
info auto-load libthread-db -- Print the list of loaded inferior specific libthread_db
set auto-load libthread-db -- Enable or disable auto-loading of inferior specific libthread_db
set debug libthread-db -- Set libthread-db debugging
set libthread-db-search-path -- Set search path for libthread_db
show auto-load libthread-db -- Show whether auto-loading inferior specific libthread_db is enabled
show debug libthread-db -- Show libthread-db debugging
show libthread-db-search-path -- Show the current search path or libthread_db

The related GDB code is in gdb/linux-thread-db.c.

Thanks,
Pedro Alves
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.