Re: gdb / thread_db / multiple ABI question

Steve Ellcey <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On Fri, 2017-07-07 at 19:36 +0100, Pedro Alves wrote:
> 
> 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.

OK, setting libthread-db-search-path and debug libthread-db got me
a bit further.  I don't get any errors or warnings about not being
able to find or load libthread_db.  It's still not reading everything
correctly though:

(gdb) info threads
Found 0 new threads in iteration 0.
  Id   Target Id         Frame 
* 3    Thread 0xf739ef70 (LWP 8660) 0x00400680 in doSomeThing ()
  4    Thread 0xf69bf490 (LWP 8662) warning: Couldn't find general-purpose registers in core file.
PC register is not available


I don't see any code in gdb/linux-thread-db.c that seems to be
conditional on the word size (ILP32 vs LP64).  I also don't see
anything in glibc nptl-db directory that appears to be conditional on
word size.  Things like pthread_t and __SIZEOF_PTHREAD_ATTR_T are 
different for the two different ABIs though.  But that is true for x86
too and things seem to be working there.  I am not sure what (if
anything) would need to be done to libthread_db to support biarch
debugging.

Steve Ellcey
[email protected]
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.