Add amd64_x32_linux_record_tdep and amd64_x32_sys
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 19 Dec 2013 22:17:48 +0000 (14:17 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 19 Dec 2013 22:17:48 +0000 (14:17 -0800)
commit8ee5199a42ae43b3a9b349640b8a0e2125ede34f
tree7346b331caa7291c51eaf7c21a25f8b7e19a80f2
parent05c0465e16a5e2db92f8975aebf2bb5aacb1c542
Add amd64_x32_linux_record_tdep and amd64_x32_sys

X32 Linux system calls are diffferent from amd64 Linux system calls in
system call numbers as well as parameter types/values.  This patch adds
amd64_x32_linux_record_tdep and amd64_x32_syscall for x32.

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.
gdb/ChangeLog
gdb/amd64-linux-tdep.c
gdb/amd64-linux-tdep.h