From: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
To: gdb-patches ml <gdb-patches@sourceware.org>
Subject: [RFC] Look for lwpid_t and psaddr_t in libthread_db.h.
Date: Mon, 26 Mar 2012 18:43:00 -0000 [thread overview]
Message-ID: <1332787356.30339.4.camel@hactar> (raw)
Hi,
Android's bionic libc defines lwpid_t and psaddr_t in libthread_db.h.
This patch makes gdbserver's configure look for them there.
Ok to commit? It doesn't affect compilation in i386-linux or
armv5tel-linux-gnueabi.
--
[]'s
Thiago Jung Bauermann
Linaro Toolchain Working Group
2012-03-26 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
* acinclude.m4 (GDBSERVER_HAVE_THREAD_DB_TYPE): New macro based
on BFD_HAVE_SYS_PROCFS_TYPE.
* configure.ac: Look for lwpid_t and psaddr_t in libthread_db.h.
diff --git a/gdb/gdbserver/acinclude.m4 b/gdb/gdbserver/acinclude.m4
index 87d0db5..12eb12b 100644
--- a/gdb/gdbserver/acinclude.m4
+++ b/gdb/gdbserver/acinclude.m4
@@ -7,3 +7,21 @@ sinclude(../../config/override.m4)
dnl For ACX_PKGVERSION and ACX_BUGURL.
sinclude(../../config/acx.m4)
+dnl Check for existence of a type $1 in libthread_db.h
+dnl Based on BFD_HAVE_SYS_PROCFS_TYPE in bfd/bfd.m4.
+
+AC_DEFUN([GDBSERVER_HAVE_THREAD_DB_TYPE],
+[AC_MSG_CHECKING([for $1 in thread_db.h])
+ AC_CACHE_VAL(gdbserver_cv_have_thread_db_type_$1,
+ [AC_TRY_COMPILE([
+#include <thread_db.h>],
+ [$1 avar],
+ gdbserver_cv_have_thread_db_type_$1=yes,
+ gdbserver_cv_have_thread_db_type_$1=no
+ )])
+ if test $gdbserver_cv_have_thread_db_type_$1 = yes; then
+ AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z]), 1,
+ [Define if <thread_db.h> has $1.])
+ fi
+ AC_MSG_RESULT($gdbserver_cv_have_thread_db_type_$1)
+])
diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac
index d2f22bd..e6e9162 100644
--- a/gdb/gdbserver/configure.ac
+++ b/gdb/gdbserver/configure.ac
@@ -268,6 +268,16 @@ if test "$ac_cv_header_sys_procfs_h" = yes; then
BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t)
fi
+dnl Some systems (e.g., Android) have lwpid_t defined in libthread_db.h.
+if test "$bfd_cv_have_sys_procfs_type_lwpid_t" != yes; then
+ GDBSERVER_HAVE_THREAD_DB_TYPE(lwpid_t)
+fi
+
+dnl Some systems (e.g., Android) have psaddr_t defined in libthread_db.h.
+if test "$bfd_cv_have_sys_procfs_type_psaddr_t" != yes; then
+ GDBSERVER_HAVE_THREAD_DB_TYPE(psaddr_t)
+fi
+
dnl Check for libdl, but do not add it to LIBS as only gdbserver
dnl needs it (and gdbreplay doesn't).
old_LIBS="$LIBS"
next reply other threads:[~2012-03-26 18:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-26 18:43 Thiago Jung Bauermann [this message]
2012-04-13 17:53 ` Tom Tromey
2012-04-13 19:59 ` Thiago Jung Bauermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1332787356.30339.4.camel@hactar \
--to=thiago.bauermann@linaro.org \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox