* configure.ac: Check for dladdr.
* config.in: Regenerate. * configure: Regenerate. * thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR. (try_thread_db_load): Update.
This commit is contained in:
parent
4ee62156d9
commit
10e86dd778
|
@ -1,5 +1,11 @@
|
||||||
2009-12-21 Doug Evans <dje@google.com>
|
2009-12-21 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* configure.ac: Check for dladdr.
|
||||||
|
* config.in: Regenerate.
|
||||||
|
* configure: Regenerate.
|
||||||
|
* thread-db.c (dladdr_to_soname): Only define ifdef HAVE_DLADDR.
|
||||||
|
(try_thread_db_load): Update.
|
||||||
|
|
||||||
* linux-low.c (my_waitpid): Delete unnecessary prototype.
|
* linux-low.c (my_waitpid): Delete unnecessary prototype.
|
||||||
|
|
||||||
2009-12-18 Doug Evans <dje@google.com>
|
2009-12-18 Doug Evans <dje@google.com>
|
||||||
|
|
|
@ -15,6 +15,9 @@
|
||||||
don't. */
|
don't. */
|
||||||
#undef HAVE_DECL_STRERROR
|
#undef HAVE_DECL_STRERROR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `dladdr' function. */
|
||||||
|
#undef HAVE_DLADDR
|
||||||
|
|
||||||
/* Define if <sys/procfs.h> has elf_fpregset_t. */
|
/* Define if <sys/procfs.h> has elf_fpregset_t. */
|
||||||
#undef HAVE_ELF_FPREGSET_T
|
#undef HAVE_ELF_FPREGSET_T
|
||||||
|
|
||||||
|
|
|
@ -3816,6 +3816,21 @@ done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
old_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS -ldl"
|
||||||
|
for ac_func in dladdr
|
||||||
|
do :
|
||||||
|
ac_fn_c_check_func "$LINENO" "dladdr" "ac_cv_func_dladdr"
|
||||||
|
if test "x$ac_cv_func_dladdr" = x""yes; then :
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_DLADDR 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
LIBS="$old_LIBS"
|
||||||
|
|
||||||
have_errno=no
|
have_errno=no
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for errno" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for errno" >&5
|
||||||
$as_echo_n "checking for errno... " >&6; }
|
$as_echo_n "checking for errno... " >&6; }
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
dnl Autoconf configure script for GDB server.
|
dnl Autoconf configure script for GDB server.
|
||||||
dnl Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
dnl Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||||
dnl Free Software Foundation, Inc.
|
dnl Free Software Foundation, Inc.
|
||||||
dnl
|
dnl
|
||||||
dnl This file is part of GDB.
|
dnl This file is part of GDB.
|
||||||
|
@ -45,6 +45,15 @@ AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl
|
||||||
AC_CHECK_FUNCS(pread pwrite pread64)
|
AC_CHECK_FUNCS(pread pwrite pread64)
|
||||||
AC_REPLACE_FUNCS(memmem)
|
AC_REPLACE_FUNCS(memmem)
|
||||||
|
|
||||||
|
dnl dladdr is glibc-specific. It is used by thread-db.c but only for
|
||||||
|
dnl debugging messages. It lives in -ldl which is handled below so we don't
|
||||||
|
dnl use AC_CHECK_LIB (or AC_SEARCH_LIBS) here. Instead we just temporarily
|
||||||
|
dnl augment LIBS.
|
||||||
|
old_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS -ldl"
|
||||||
|
AC_CHECK_FUNCS(dladdr)
|
||||||
|
LIBS="$old_LIBS"
|
||||||
|
|
||||||
have_errno=no
|
have_errno=no
|
||||||
AC_MSG_CHECKING(for errno)
|
AC_MSG_CHECKING(for errno)
|
||||||
AC_TRY_LINK([
|
AC_TRY_LINK([
|
||||||
|
|
|
@ -596,6 +596,8 @@ try_thread_db_load_1 (void *handle)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_DLADDR
|
||||||
|
|
||||||
/* Lookup a library in which given symbol resides.
|
/* Lookup a library in which given symbol resides.
|
||||||
Note: this is looking in the GDBSERVER process, not in the inferior.
|
Note: this is looking in the GDBSERVER process, not in the inferior.
|
||||||
Returns library name, or NULL. */
|
Returns library name, or NULL. */
|
||||||
|
@ -610,6 +612,8 @@ dladdr_to_soname (const void *addr)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
static int
|
static int
|
||||||
try_thread_db_load (const char *library)
|
try_thread_db_load (const char *library)
|
||||||
{
|
{
|
||||||
|
@ -626,6 +630,7 @@ try_thread_db_load (const char *library)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_DLADDR
|
||||||
if (debug_threads && strchr (library, '/') == NULL)
|
if (debug_threads && strchr (library, '/') == NULL)
|
||||||
{
|
{
|
||||||
void *td_init;
|
void *td_init;
|
||||||
|
@ -640,6 +645,7 @@ try_thread_db_load (const char *library)
|
||||||
library, libpath);
|
library, libpath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (try_thread_db_load_1 (handle))
|
if (try_thread_db_load_1 (handle))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in New Issue