2009-08-10 Hui Zhu <teawater@gmail.com>

Add process record Linux system call 64 bits support.

        * linux-record.h (linux_record_tdep): Add size_pointer,
        size_size_t, size_iovec and arg6.  Change the values of
	size_int, size_long and size_ulong to
	gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT,
	gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT,
	gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT.
	* i386-linux-tdep.c (i386_linux_init_abi): Ditto.
	(i386_linux_intx80_sysenter_record): Add a check for system
	call number.
        * linux-record.c (record_linux_system_call): Make this
        function support 64 bits.
This commit is contained in:
Hui Zhu
2009-08-10 03:04:45 +00:00
parent cf648174b0
commit 2c543fc432
4 changed files with 1504 additions and 1112 deletions

View File

@ -23,6 +23,7 @@
struct linux_record_tdep
{
/* The size of the type that will be used in a system call. */
int size_pointer;
int size__old_kernel_stat;
int size_tms;
int size_loff_t;
@ -81,7 +82,6 @@ struct linux_record_tdep
int size_itimerspec;
int size_mq_attr;
int size_siginfo;
int size_termios;
int size_termios2;
int size_pid_t;
@ -89,6 +89,8 @@ struct linux_record_tdep
int size_serial_struct;
int size_serial_icounter_struct;
int size_hayes_esp_config;
int size_size_t;
int size_iovec;
/* The values of the second argument of system call "sys_ioctl". */
int ioctl_TCGETS;
@ -171,6 +173,7 @@ struct linux_record_tdep
int arg3;
int arg4;
int arg5;
int arg6;
};
extern int record_linux_system_call (int num, struct regcache *regcache,