Fix remaining GDBserver issues with !HAVE_THREAD_DB_H.
authorPedro Alves <palves@redhat.com>
Tue, 16 Apr 2013 18:20:40 +0000 (18:20 +0000)
committerPedro Alves <palves@redhat.com>
Tue, 16 Apr 2013 18:20:40 +0000 (18:20 +0000)
commit04f5fe89ae8c13d903cded6cc28924dff058ece0
treeb68db5ff71638c1ce93b6f433412ee9cb5bd513f
parent488a42b8c4330b6de178cadc089b1d551dd7f974
Fix remaining GDBserver issues with !HAVE_THREAD_DB_H.

The previous patches are still not sufficient to build gdbserver with
our copy of thread_db.h.

../../../src/gdb/gdbserver/thread-db.c: In function ‘find_one_thread’:
../../../src/gdb/gdbserver/thread-db.c:316:6: error: ‘struct lwp_info’ has no member named ‘th’
../../../src/gdb/gdbserver/thread-db.c: In function ‘attach_thread’:
../../../src/gdb/gdbserver/thread-db.c:341:6: error: ‘struct lwp_info’ has no member named ‘th’
../../../src/gdb/gdbserver/thread-db.c: In function ‘thread_db_get_tls_address’:
../../../src/gdb/gdbserver/thread-db.c:514:47: error: ‘struct lwp_info’ has no member named ‘th’
make: *** [thread-db.o] Error 1

First, linux-low.h is including <thread_db.h> directly instead of our
gdb_thread_db.h, although thread-db.c includes the latter.  Then the
'th' field of struct lwp_info is only defined if HAVE_THREAD_DB_H is
defined, which is not true if we're using our replacement copy of
thread_db.h.  We have a USE_THREAD_DB symbol defined if we're building
thread-db.c that's ideal for this, however, it's currently only
defined when compiling linux-low.c (through a Makefile rule).  The
patch makes it defined when compiling any file.

gdb/gdbserver/
2013-04-16  Pedro Alves  <palves@redhat.com>

* Makefile.in (INTERNAL_CFLAGS): Add @USE_THREAD_DB@.
(linux-low.o): Delete rule.
* linux-low.h: Always include "gdb_thread_db.h" instead of
conditionally including thread_db.h.
(struct lwp_info) <th>: Guard with #ifdef USE_THREAD_DB instead of
HAVE_THREAD_DB_H.
gdb/gdbserver/ChangeLog
gdb/gdbserver/Makefile.in
gdb/gdbserver/linux-low.h