aboutsummaryrefslogtreecommitdiff
path: root/gdb/configure.ac
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-06-26 14:43:01 +0000
committerH.J. Lu <hjl.tools@gmail.com>2012-06-26 14:43:01 +0000
commit6fea9e186c3da74c8f0ba9d007522a7575d24a73 (patch)
tree062ddc7f6108c8f4f26e1f63110472d4abe86058 /gdb/configure.ac
parenta4fd3de5d3170b2c22c9fe4cf236cc31305ef103 (diff)
downloadgdb-6fea9e186c3da74c8f0ba9d007522a7575d24a73.zip
gdb-6fea9e186c3da74c8f0ba9d007522a7575d24a73.tar.gz
gdb-6fea9e186c3da74c8f0ba9d007522a7575d24a73.tar.bz2
Use PTRACE_PEEKUSER to get fs_base/gs_base
* amd64-linux-nat.c: Include <sys/user.h>. (ps_get_thread_area): Use PTRACE_PEEKUSER to get fs_base/gs_base if HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE or HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE is defined. * configure.ac: Check if the fs_base and gs_base members of `struct user_regs_struct' exist. * config.in: Regenerated. * configure: Likewise.
Diffstat (limited to 'gdb/configure.ac')
-rw-r--r--gdb/configure.ac6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/configure.ac b/gdb/configure.ac
index f77aa85..d52bd15 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -1274,6 +1274,12 @@ fi
AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
[#include <machine/reg.h>])
+# See if <sys/user.h> supports the %fs_base and %gs_bas amd64 segment registers.
+# Older amd64 Linux's don't have the fs_base and gs_base members of
+# `struct user_regs_struct'.
+AC_CHECK_MEMBERS([struct user_regs_struct.fs_base, struct user_regs_struct.gs_base],
+ [], [], [#include <sys/user.h>])
+
# See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
AC_MSG_CHECKING(for PTRACE_GETREGS)
AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,