this patch fixes compilation of gdbserver on systems that don't have thread_db.h. in that case we fall back to gdb's own copy "gdb_thread_db.h", so the typedef of the td_thrhandle_t member is available, which is accessed in other parts of the code without checking whether thread_db.h is available. this is by far the cleaner solution, removing the accesses to the th member in other parts of the source would either litter it with ifdefs or cripple the functionality. --- gdb-7.6.2.org/gdb/gdbserver/linux-low.h +++ gdb-7.6.2/gdb/gdbserver/linux-low.h @@ -18,6 +18,8 @@ #ifdef HAVE_THREAD_DB_H #include <thread_db.h> +#else +#include "gdb_thread_db.h" #endif #include <signal.h> @@ -270,11 +272,9 @@ int need_step_over; int thread_known; -#ifdef HAVE_THREAD_DB_H /* The thread handle, used for e.g. TLS access. Only valid if THREAD_KNOWN is set. */ td_thrhandle_t th; -#endif /* Arch-specific additions. */ struct arch_lwp_info *arch_private;