2013-08-07 Raunaq Bathija <raunaq12@in.ibm.com>
Ulrich Weigand <uweigand@de.ibm.com> * gdb_ptrace.h: Use ptrace64 instead of ptrace if HAVE_PTRACE64 is defined. * rs6000-nat.c: Check for __ld_info64_ if compiling 64 BIT gdb. (rs6000_ptrace32): Call ptrace64 instead of ptrace if present. (rs6000_ptrace64): Call ptace64 instead of ptracex if present. * configure.ac: Check for ptrace64. * configure, config.in: Regenerate.
This commit is contained in:
parent
fecf803efa
commit
b08ee99f15
6 changed files with 34 additions and 4 deletions
|
@ -1,3 +1,14 @@
|
|||
2013-08-07 Raunaq Bathija <raunaq12@in.ibm.com>
|
||||
Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* gdb_ptrace.h: Use ptrace64 instead of ptrace if HAVE_PTRACE64
|
||||
is defined.
|
||||
* rs6000-nat.c: Check for __ld_info64_ if compiling 64 BIT gdb.
|
||||
(rs6000_ptrace32): Call ptrace64 instead of ptrace if present.
|
||||
(rs6000_ptrace64): Call ptace64 instead of ptracex if present.
|
||||
* configure.ac: Check for ptrace64.
|
||||
* configure, config.in: Regenerate.
|
||||
|
||||
2013-08-07 Raunaq Bathija <raunaq12@in.ibm.com>
|
||||
Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
|
|
|
@ -333,6 +333,9 @@
|
|||
/* Define if <sys/procfs.h> has pstatus_t. */
|
||||
#undef HAVE_PSTATUS_T
|
||||
|
||||
/* Define to 1 if you have the `ptrace64' function. */
|
||||
#undef HAVE_PTRACE64
|
||||
|
||||
/* Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request. */
|
||||
#undef HAVE_PTRACE_GETFPXREGS
|
||||
|
||||
|
|
2
gdb/configure
vendored
2
gdb/configure
vendored
|
@ -10181,7 +10181,7 @@ for ac_func in canonicalize_file_name realpath getrusage getuid getgid \
|
|||
sigaction sigprocmask sigsetmask socketpair syscall \
|
||||
ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
|
||||
setrlimit getrlimit posix_madvise waitpid lstat \
|
||||
fdwalk pipe2
|
||||
fdwalk pipe2 ptrace64
|
||||
do :
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||
|
|
|
@ -1166,7 +1166,7 @@ AC_CHECK_FUNCS([canonicalize_file_name realpath getrusage getuid getgid \
|
|||
sigaction sigprocmask sigsetmask socketpair syscall \
|
||||
ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
|
||||
setrlimit getrlimit posix_madvise waitpid lstat \
|
||||
fdwalk pipe2])
|
||||
fdwalk pipe2 ptrace64])
|
||||
AM_LANGINFO_CODESET
|
||||
|
||||
# Check the return and argument types of ptrace. No canned test for
|
||||
|
|
|
@ -135,7 +135,15 @@ extern PTRACE_TYPE_RET ptrace();
|
|||
zero. */
|
||||
|
||||
#ifdef PTRACE_TYPE_ARG5
|
||||
# define ptrace(request, pid, addr, data) ptrace (request, pid, addr, data, 0)
|
||||
# ifdef HAVE_PTRACE64
|
||||
# define ptrace(request, pid, addr, data) \
|
||||
ptrace64 (request, pid, addr, data, 0)
|
||||
# undef PTRACE_TYPE_ARG3
|
||||
# define PTRACE_TYPE_ARG3 long long
|
||||
# else
|
||||
# define ptrace(request, pid, addr, data) \
|
||||
ptrace (request, pid, addr, data, 0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* gdb_ptrace.h */
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
/* In 32-bit compilation mode (which is the only mode from which ptrace()
|
||||
works on 4.3), __ld_info32 is #defined as equivalent to ld_info. */
|
||||
|
||||
#ifdef __ld_info32
|
||||
#if defined (__ld_info32) || defined (__ld_info64)
|
||||
# define ARCH3264
|
||||
#endif
|
||||
|
||||
|
@ -131,7 +131,11 @@ regmap (struct gdbarch *gdbarch, int regno, int *isfloat)
|
|||
static int
|
||||
rs6000_ptrace32 (int req, int id, int *addr, int data, int *buf)
|
||||
{
|
||||
#ifdef HAVE_PTRACE64
|
||||
int ret = ptrace64 (req, id, (long long) addr, data, buf);
|
||||
#else
|
||||
int ret = ptrace (req, id, (int *)addr, data, buf);
|
||||
#endif
|
||||
#if 0
|
||||
printf ("rs6000_ptrace32 (%d, %d, 0x%x, %08x, 0x%x) = 0x%x\n",
|
||||
req, id, (unsigned int)addr, data, (unsigned int)buf, ret);
|
||||
|
@ -145,7 +149,11 @@ static int
|
|||
rs6000_ptrace64 (int req, int id, long long addr, int data, void *buf)
|
||||
{
|
||||
#ifdef ARCH3264
|
||||
#ifdef HAVE_PTRACE64
|
||||
int ret = ptrace64 (req, id, addr, data, buf);
|
||||
#else
|
||||
int ret = ptracex (req, id, addr, data, buf);
|
||||
#endif
|
||||
#else
|
||||
int ret = 0;
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue