This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 4/5] powerpc64-aix ptrace64 when defined.
- From: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- To: raunaq12 at in dot ibm dot com
- Cc: gdb-patches at sourceware dot org, tromey at redhat dot com
- Date: Thu, 1 Aug 2013 15:25:41 +0200 (CEST)
- Subject: Re: [PATCH 4/5] powerpc64-aix ptrace64 when defined.
- References: <OFA6C43467 dot FAE1B1A7-ON65257BBA dot 003ECA58-65257BBA dot 003F004F at in dot ibm dot com>
> From: Raunaq 12 <raunaq12@in.ibm.com>
> Date: Thu, 1 Aug 2013 16:56:53 +0530
>
> When GDB is compiled in 64 BIT mode ptrace and ptracex calls are not
> defined on AIX.
> So, instead we check if ptrace64 is defined, if it is then we call that
> instead of ptrace/x.
>
> Kindly review this. Thanks.
I'm basically happy with the gdb_ptrace.h bit. You could apply some
of the advice about avoiding unecessary casts to rs600-nat.c and
aix-thread.c, but I don't really care about the code in there.
Still some nits:
> ---
> ChangeLog :-
>
> * gdb_ptrace.h: Add macro to define ptrace64 if HAVE_PTRACE64 defined
* 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: Add function check for ptrace64
* configure.ac: Check for ptrace64.
> *config.in: initialize HAVE_PTRACE64 which will be set by configure
* configure, config.in: Regenerate.
> ---
> Index: ./gdb/gdb_ptrace.h
> ===================================================================
> --- ./gdb.orig/gdb_ptrace.h
> +++ ./gdb/gdb_ptrace.h
> @@ -135,7 +135,15 @@
> 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)
Needs a space between on the last line between 'ptrace' and '(' (but
not on the line before that.