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:
Ulrich Weigand 2013-08-07 14:39:57 +00:00
parent fecf803efa
commit b08ee99f15
6 changed files with 34 additions and 4 deletions

View File

@ -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>

View File

@ -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
View File

@ -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"

View File

@ -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

View File

@ -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 */

View File

@ -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