Re: [PATCH 2/3] PR gdb/16304: Add amd64_x32_linux_record_tdep and amd64_x32_sys_xxx

H.J. Lu
2013-12-14T23:11:02Z

On Sun, Dec 08, 2013 at 04:07:58PM -0800, H.J. Lu wrote:
> On Sun, Dec 08, 2013 at 11:44:19AM -0800, H.J. Lu wrote:
> > Hi,
> >
> > X32 Linux system calls are diffferent from amd64 Linux system calls
> > in system call numbers as well as parameter types/values. We can't use
> > amd64_linux_record_tdep for x32. This patch adds x32 system call
> > numbers. It also adds linux_record_tdep_p to gdbarch_tdep so that
> > we can use different linux_record_tdeps for x32 and amd64.
> > linux_record_tdep_p will be unused for other x86 targets. Tested on
> > Linux/x86-64. OK to install?
> >
> >
>
> Here is the updated patch with amd64_x32_linux_syscall_record.
> Tested on Linux/x86-64. OK to install?
>
> Thanks.
>
>
> H.J.
> ---
> 2013-12-08 H.J. Lu <hongjiu.lu@intel.com>
>
> PR gdb/16304
> * amd64-linux-tdep.c (amd64_canonicalize_syscall): Handle x32
> system calls.
> (amd64_x32_linux_record_tdep): New.
> (amd64_linux_syscall_record_common): New function.
> (amd64_linux_syscall_record): Call
> amd64_linux_syscall_record_common with amd64_linux_record_tdep.
> (amd64_x32_linux_syscall_record): Call
> amd64_linux_syscall_record_common with
> amd64_x32_linux_record_tdep.
> (amd64_linux_init_abi_common): Move amd64_linux_record_tdep
> initialization and tdep->i386_syscall_record setup to ...
> (amd64_linux_init_abi): Here.
> (amd64_x32_linux_init_abi): Initialize
> amd64_x32_linux_record_tdep. Set tdep->i386_syscall_record to
> amd64_x32_linux_syscall_record.
> * amd64-linux-tdep.h (amd64_x32_syscall): New enum.
>

Hi Mark,

Does it look OK? The patch is at

https://sourceware.org/ml/gdb-patches/2013-12/msg00313.html

Thanks.

H.J.