Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [Prec/RFA] Remove macros for record size in i386-linux-tdep.c
@ 2009-05-23  4:00 Hui Zhu
  2009-05-23 11:12 ` Pedro Alves
  0 siblings, 1 reply; 8+ messages in thread
From: Hui Zhu @ 2009-05-23  4:00 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 672 bytes --]

Hi guys,

I told that I need the macros for record size in i386-linux-tdep.c
because I have a idea with precord speed up need these macros.
But I found that there are a lot of wrong with this idea.  So I think
the better way is  give it up.
So I don't need this macros now.  Post a patch to removed them.

Please help me review it.

Thanks,
Hui

2009-05-23  Hui Zhu  <teawater@gmail.com>

	* i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
	I386_LINUX_RECORD_IOCTL_*,
	I386_LINUX_RECORD_FCNTL_*) Removed.
	(i386_linux_init_abi): Change size of record from macros to
	numbers.

	* i386-linux-tdep.c (i386_linux_init_abi): Change
	i386_linux_record_tdep.size_char from 8 to 1.

[-- Attachment #2: remove-i386-linux-tdep-macro.txt --]
[-- Type: text/plain, Size: 25512 bytes --]

---
 i386-linux-tdep.c |  458 ++++++++++++++++--------------------------------------
 1 file changed, 141 insertions(+), 317 deletions(-)

--- a/i386-linux-tdep.c
+++ b/i386-linux-tdep.c
@@ -447,153 +447,6 @@ static int i386_linux_sc_reg_offset[] =
   0 * 4				/* %gs */
 };
 
-/* These macros are the size of the type that will be used in a system
-   call.  The values of these macros were obtained from Linux Kernel
-   source.  */
-#define I386_LINUX_RECORD_SIZE__old_kernel_stat	32
-#define I386_LINUX_RECORD_SIZE_tms			16
-#define I386_LINUX_RECORD_SIZE_loff_t			8
-#define I386_LINUX_RECORD_SIZE_flock			16
-#define I386_LINUX_RECORD_SIZE_oldold_utsname		45
-#define I386_LINUX_RECORD_SIZE_ustat			20
-#define I386_LINUX_RECORD_SIZE_old_sigaction		140
-#define I386_LINUX_RECORD_SIZE_old_sigset_t		128
-#define I386_LINUX_RECORD_SIZE_rlimit			8
-#define I386_LINUX_RECORD_SIZE_rusage			72
-#define I386_LINUX_RECORD_SIZE_timeval		8
-#define I386_LINUX_RECORD_SIZE_timezone		8
-#define I386_LINUX_RECORD_SIZE_old_gid_t		2
-#define I386_LINUX_RECORD_SIZE_old_uid_t		2
-#define I386_LINUX_RECORD_SIZE_fd_set			128
-#define I386_LINUX_RECORD_SIZE_dirent			268
-#define I386_LINUX_RECORD_SIZE_dirent64		276
-#define I386_LINUX_RECORD_SIZE_statfs			64
-#define I386_LINUX_RECORD_SIZE_statfs64		84
-#define I386_LINUX_RECORD_SIZE_sockaddr		16
-#define I386_LINUX_RECORD_SIZE_int			4
-#define I386_LINUX_RECORD_SIZE_long			4
-#define I386_LINUX_RECORD_SIZE_ulong			4
-#define I386_LINUX_RECORD_SIZE_msghdr			28
-#define I386_LINUX_RECORD_SIZE_itimerval		16
-#define I386_LINUX_RECORD_SIZE_stat			88
-#define I386_LINUX_RECORD_SIZE_old_utsname		325
-#define I386_LINUX_RECORD_SIZE_sysinfo		64
-#define I386_LINUX_RECORD_SIZE_msqid_ds		88
-#define I386_LINUX_RECORD_SIZE_shmid_ds		84
-#define I386_LINUX_RECORD_SIZE_new_utsname		390
-#define I386_LINUX_RECORD_SIZE_timex			128
-#define I386_LINUX_RECORD_SIZE_mem_dqinfo		24
-#define I386_LINUX_RECORD_SIZE_if_dqblk		68
-#define I386_LINUX_RECORD_SIZE_fs_quota_stat		68
-#define I386_LINUX_RECORD_SIZE_timespec		8
-#define I386_LINUX_RECORD_SIZE_pollfd			8
-#define I386_LINUX_RECORD_SIZE_NFS_FHSIZE		32
-#define I386_LINUX_RECORD_SIZE_knfsd_fh		132
-#define I386_LINUX_RECORD_SIZE_TASK_COMM_LEN		16
-#define I386_LINUX_RECORD_SIZE_sigaction		140
-#define I386_LINUX_RECORD_SIZE_sigset_t		8
-#define I386_LINUX_RECORD_SIZE_siginfo_t		128
-#define I386_LINUX_RECORD_SIZE_cap_user_data_t	12
-#define I386_LINUX_RECORD_SIZE_stack_t		12
-#define I386_LINUX_RECORD_SIZE_off_t			I386_LINUX_RECORD_SIZE_long
-#define I386_LINUX_RECORD_SIZE_stat64			96
-#define I386_LINUX_RECORD_SIZE_gid_t			2
-#define I386_LINUX_RECORD_SIZE_uid_t			2
-#define I386_LINUX_RECORD_SIZE_PAGE_SIZE		4096
-#define I386_LINUX_RECORD_SIZE_flock64		24
-#define I386_LINUX_RECORD_SIZE_user_desc		16
-#define I386_LINUX_RECORD_SIZE_io_event		32
-#define I386_LINUX_RECORD_SIZE_iocb			64
-#define I386_LINUX_RECORD_SIZE_epoll_event		12
-#define I386_LINUX_RECORD_SIZE_itimerspec		(I386_LINUX_RECORD_SIZE_timespec * 2)
-#define I386_LINUX_RECORD_SIZE_mq_attr		32
-#define I386_LINUX_RECORD_SIZE_siginfo		128
-#define I386_LINUX_RECORD_SIZE_termios		36
-#define I386_LINUX_RECORD_SIZE_termios2		44
-#define I386_LINUX_RECORD_SIZE_pid_t			4
-#define I386_LINUX_RECORD_SIZE_winsize		8
-#define I386_LINUX_RECORD_SIZE_char			8
-#define I386_LINUX_RECORD_SIZE_serial_struct		60
-#define I386_LINUX_RECORD_SIZE_serial_icounter_struct	80
-#define I386_LINUX_RECORD_SIZE_hayes_esp_config	12
-
-/* These macros are the values of the second argument of system call
-   "sys_ioctl".  The values of these macros were obtained from Linux
-   Kernel source.  */
-#define I386_LINUX_RECORD_IOCTL_TCGETS		0x5401
-#define I386_LINUX_RECORD_IOCTL_TCSETS		0x5402
-#define I386_LINUX_RECORD_IOCTL_TCSETSW		0x5403
-#define I386_LINUX_RECORD_IOCTL_TCSETSF		0x5404
-#define I386_LINUX_RECORD_IOCTL_TCGETA		0x5405
-#define I386_LINUX_RECORD_IOCTL_TCSETA		0x5406
-#define I386_LINUX_RECORD_IOCTL_TCSETAW		0x5407
-#define I386_LINUX_RECORD_IOCTL_TCSETAF		0x5408
-#define I386_LINUX_RECORD_IOCTL_TCSBRK		0x5409
-#define I386_LINUX_RECORD_IOCTL_TCXONC		0x540A
-#define I386_LINUX_RECORD_IOCTL_TCFLSH		0x540B
-#define I386_LINUX_RECORD_IOCTL_TIOCEXCL		0x540C
-#define I386_LINUX_RECORD_IOCTL_TIOCNXCL		0x540D
-#define I386_LINUX_RECORD_IOCTL_TIOCSCTTY		0x540E
-#define I386_LINUX_RECORD_IOCTL_TIOCGPGRP		0x540F
-#define I386_LINUX_RECORD_IOCTL_TIOCSPGRP		0x5410
-#define I386_LINUX_RECORD_IOCTL_TIOCOUTQ		0x5411
-#define I386_LINUX_RECORD_IOCTL_TIOCSTI		0x5412
-#define I386_LINUX_RECORD_IOCTL_TIOCGWINSZ		0x5413
-#define I386_LINUX_RECORD_IOCTL_TIOCSWINSZ		0x5414
-#define I386_LINUX_RECORD_IOCTL_TIOCMGET		0x5415
-#define I386_LINUX_RECORD_IOCTL_TIOCMBIS		0x5416
-#define I386_LINUX_RECORD_IOCTL_TIOCMBIC		0x5417
-#define I386_LINUX_RECORD_IOCTL_TIOCMSET		0x5418
-#define I386_LINUX_RECORD_IOCTL_TIOCGSOFTCAR		0x5419
-#define I386_LINUX_RECORD_IOCTL_TIOCSSOFTCAR		0x541A
-#define I386_LINUX_RECORD_IOCTL_FIONREAD		0x541B
-#define I386_LINUX_RECORD_IOCTL_TIOCINQ		I386_LINUX_RECORD_IOCTL_FIONREAD
-#define I386_LINUX_RECORD_IOCTL_TIOCLINUX		0x541C
-#define I386_LINUX_RECORD_IOCTL_TIOCCONS		0x541D
-#define I386_LINUX_RECORD_IOCTL_TIOCGSERIAL		0x541E
-#define I386_LINUX_RECORD_IOCTL_TIOCSSERIAL		0x541F
-#define I386_LINUX_RECORD_IOCTL_TIOCPKT		0x5420
-#define I386_LINUX_RECORD_IOCTL_FIONBIO		0x5421
-#define I386_LINUX_RECORD_IOCTL_TIOCNOTTY		0x5422
-#define I386_LINUX_RECORD_IOCTL_TIOCSETD		0x5423
-#define I386_LINUX_RECORD_IOCTL_TIOCGETD		0x5424
-#define I386_LINUX_RECORD_IOCTL_TCSBRKP		0x5425
-#define I386_LINUX_RECORD_IOCTL_TIOCTTYGSTRUCT 	0x5426
-#define I386_LINUX_RECORD_IOCTL_TIOCSBRK		0x5427
-#define I386_LINUX_RECORD_IOCTL_TIOCCBRK		0x5428
-#define I386_LINUX_RECORD_IOCTL_TIOCGSID		0x5429
-#define I386_LINUX_RECORD_IOCTL_TCGETS2		0x802c542a
-#define I386_LINUX_RECORD_IOCTL_TCSETS2		0x402c542b
-#define I386_LINUX_RECORD_IOCTL_TCSETSW2		0x402c542c
-#define I386_LINUX_RECORD_IOCTL_TCSETSF2		0x402c542d
-#define I386_LINUX_RECORD_IOCTL_TIOCGPTN		0x80045430
-#define I386_LINUX_RECORD_IOCTL_TIOCSPTLCK		0x40045431
-#define I386_LINUX_RECORD_IOCTL_FIONCLEX		0x5450
-#define I386_LINUX_RECORD_IOCTL_FIOCLEX		0x5451
-#define I386_LINUX_RECORD_IOCTL_FIOASYNC		0x5452
-#define I386_LINUX_RECORD_IOCTL_TIOCSERCONFIG		0x5453
-#define I386_LINUX_RECORD_IOCTL_TIOCSERGWILD		0x5454
-#define I386_LINUX_RECORD_IOCTL_TIOCSERSWILD		0x5455
-#define I386_LINUX_RECORD_IOCTL_TIOCGLCKTRMIOS	0x5456
-#define I386_LINUX_RECORD_IOCTL_TIOCSLCKTRMIOS	0x5457
-#define I386_LINUX_RECORD_IOCTL_TIOCSERGSTRUCT	0x5458
-#define I386_LINUX_RECORD_IOCTL_TIOCSERGETLSR   	0x5459
-#define I386_LINUX_RECORD_IOCTL_TIOCSERGETMULTI	0x545A
-#define I386_LINUX_RECORD_IOCTL_TIOCSERSETMULTI	0x545B
-#define I386_LINUX_RECORD_IOCTL_TIOCMIWAIT		0x545C
-#define I386_LINUX_RECORD_IOCTL_TIOCGICOUNT		0x545D
-#define I386_LINUX_RECORD_IOCTL_TIOCGHAYESESP		0x545E
-#define I386_LINUX_RECORD_IOCTL_TIOCSHAYESESP		0x545F
-#define I386_LINUX_RECORD_IOCTL_FIOQSIZE		0x5460
-
-/* The values of the second argument of system call "sys_fcntl"
-   and "sys_fcntl64".  The values of these macros were obtained from
-   Linux Kernel source.  */
-#define I386_LINUX_RECORD_FCNTL_F_GETLK			5
-#define I386_LINUX_RECORD_FCNTL_F_GETLK64		12
-#define I386_LINUX_RECORD_FCNTL_F_SETLK64		13
-#define I386_LINUX_RECORD_FCNTL_F_SETLKW64		14
-
 static void
 i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
@@ -624,178 +477,149 @@ i386_linux_init_abi (struct gdbarch_info
   set_gdbarch_process_record (gdbarch, i386_process_record);
 
   /* Initialize the i386_linux_record_tdep.  */
-  i386_linux_record_tdep.size__old_kernel_stat =
-    I386_LINUX_RECORD_SIZE__old_kernel_stat;
-  i386_linux_record_tdep.size_tms = I386_LINUX_RECORD_SIZE_tms;
-  i386_linux_record_tdep.size_loff_t = I386_LINUX_RECORD_SIZE_loff_t;
-  i386_linux_record_tdep.size_flock = I386_LINUX_RECORD_SIZE_flock;
-  i386_linux_record_tdep.size_oldold_utsname =
-    I386_LINUX_RECORD_SIZE_oldold_utsname;
-  i386_linux_record_tdep.size_ustat = I386_LINUX_RECORD_SIZE_ustat;
-  i386_linux_record_tdep.size_old_sigaction =
-    I386_LINUX_RECORD_SIZE_old_sigaction;
-  i386_linux_record_tdep.size_old_sigset_t =
-    I386_LINUX_RECORD_SIZE_old_sigset_t;
-  i386_linux_record_tdep.size_rlimit = I386_LINUX_RECORD_SIZE_rlimit;
-  i386_linux_record_tdep.size_rusage = I386_LINUX_RECORD_SIZE_rusage;
-  i386_linux_record_tdep.size_timeval = I386_LINUX_RECORD_SIZE_timeval;
-  i386_linux_record_tdep.size_timezone = I386_LINUX_RECORD_SIZE_timezone;
-  i386_linux_record_tdep.size_old_gid_t = I386_LINUX_RECORD_SIZE_old_gid_t;
-  i386_linux_record_tdep.size_old_uid_t = I386_LINUX_RECORD_SIZE_old_uid_t;
-  i386_linux_record_tdep.size_fd_set = I386_LINUX_RECORD_SIZE_fd_set;
-  i386_linux_record_tdep.size_dirent = I386_LINUX_RECORD_SIZE_dirent;
-  i386_linux_record_tdep.size_dirent64 = I386_LINUX_RECORD_SIZE_dirent64;
-  i386_linux_record_tdep.size_statfs = I386_LINUX_RECORD_SIZE_statfs;
-  i386_linux_record_tdep.size_statfs64 = I386_LINUX_RECORD_SIZE_statfs64;
-  i386_linux_record_tdep.size_sockaddr = I386_LINUX_RECORD_SIZE_sockaddr;
-  i386_linux_record_tdep.size_int = I386_LINUX_RECORD_SIZE_int;
-  i386_linux_record_tdep.size_long = I386_LINUX_RECORD_SIZE_long;
-  i386_linux_record_tdep.size_ulong = I386_LINUX_RECORD_SIZE_ulong;
-  i386_linux_record_tdep.size_msghdr = I386_LINUX_RECORD_SIZE_msghdr;
-  i386_linux_record_tdep.size_itimerval = I386_LINUX_RECORD_SIZE_itimerval;
-  i386_linux_record_tdep.size_stat = I386_LINUX_RECORD_SIZE_stat;
-  i386_linux_record_tdep.size_old_utsname =
-    I386_LINUX_RECORD_SIZE_old_utsname;
-  i386_linux_record_tdep.size_sysinfo = I386_LINUX_RECORD_SIZE_sysinfo;
-  i386_linux_record_tdep.size_msqid_ds = I386_LINUX_RECORD_SIZE_msqid_ds;
-  i386_linux_record_tdep.size_shmid_ds = I386_LINUX_RECORD_SIZE_shmid_ds;
-  i386_linux_record_tdep.size_new_utsname =
-    I386_LINUX_RECORD_SIZE_new_utsname;
-  i386_linux_record_tdep.size_timex = I386_LINUX_RECORD_SIZE_timex;
-  i386_linux_record_tdep.size_mem_dqinfo = I386_LINUX_RECORD_SIZE_mem_dqinfo;
-  i386_linux_record_tdep.size_if_dqblk = I386_LINUX_RECORD_SIZE_if_dqblk;
-  i386_linux_record_tdep.size_fs_quota_stat =
-    I386_LINUX_RECORD_SIZE_fs_quota_stat;
-  i386_linux_record_tdep.size_timespec = I386_LINUX_RECORD_SIZE_timespec;
-  i386_linux_record_tdep.size_pollfd = I386_LINUX_RECORD_SIZE_pollfd;
-  i386_linux_record_tdep.size_NFS_FHSIZE = I386_LINUX_RECORD_SIZE_NFS_FHSIZE;
-  i386_linux_record_tdep.size_knfsd_fh = I386_LINUX_RECORD_SIZE_knfsd_fh;
-  i386_linux_record_tdep.size_TASK_COMM_LEN =
-    I386_LINUX_RECORD_SIZE_TASK_COMM_LEN;
-  i386_linux_record_tdep.size_sigaction = I386_LINUX_RECORD_SIZE_sigaction;
-  i386_linux_record_tdep.size_sigset_t = I386_LINUX_RECORD_SIZE_sigset_t;
-  i386_linux_record_tdep.size_siginfo_t = I386_LINUX_RECORD_SIZE_siginfo_t;
-  i386_linux_record_tdep.size_cap_user_data_t =
-    I386_LINUX_RECORD_SIZE_cap_user_data_t;
-  i386_linux_record_tdep.size_stack_t = I386_LINUX_RECORD_SIZE_stack_t;
-  i386_linux_record_tdep.size_off_t = I386_LINUX_RECORD_SIZE_off_t;
-  i386_linux_record_tdep.size_stat64 = I386_LINUX_RECORD_SIZE_stat64;
-  i386_linux_record_tdep.size_gid_t = I386_LINUX_RECORD_SIZE_gid_t;
-  i386_linux_record_tdep.size_uid_t = I386_LINUX_RECORD_SIZE_uid_t;
-  i386_linux_record_tdep.size_PAGE_SIZE = I386_LINUX_RECORD_SIZE_PAGE_SIZE;
-  i386_linux_record_tdep.size_flock64 = I386_LINUX_RECORD_SIZE_flock64;
-  i386_linux_record_tdep.size_user_desc = I386_LINUX_RECORD_SIZE_user_desc;
-  i386_linux_record_tdep.size_io_event = I386_LINUX_RECORD_SIZE_io_event;
-  i386_linux_record_tdep.size_iocb = I386_LINUX_RECORD_SIZE_iocb;
-  i386_linux_record_tdep.size_epoll_event =
-    I386_LINUX_RECORD_SIZE_epoll_event;
-  i386_linux_record_tdep.size_itimerspec = I386_LINUX_RECORD_SIZE_itimerspec;
-  i386_linux_record_tdep.size_mq_attr = I386_LINUX_RECORD_SIZE_mq_attr;
-  i386_linux_record_tdep.size_siginfo = I386_LINUX_RECORD_SIZE_siginfo;
-  i386_linux_record_tdep.size_termios = I386_LINUX_RECORD_SIZE_termios;
-  i386_linux_record_tdep.size_termios2 = I386_LINUX_RECORD_SIZE_termios2;
-  i386_linux_record_tdep.size_pid_t = I386_LINUX_RECORD_SIZE_pid_t;
-  i386_linux_record_tdep.size_winsize = I386_LINUX_RECORD_SIZE_winsize;
-  i386_linux_record_tdep.size_char = I386_LINUX_RECORD_SIZE_char;
-  i386_linux_record_tdep.size_serial_struct =
-    I386_LINUX_RECORD_SIZE_serial_struct;
-  i386_linux_record_tdep.size_serial_icounter_struct =
-    I386_LINUX_RECORD_SIZE_serial_icounter_struct;
-  i386_linux_record_tdep.size_hayes_esp_config =
-    I386_LINUX_RECORD_SIZE_hayes_esp_config;
+  /* These values are the size of the type that will be used in a system
+     call.  They are obtained from Linux Kernel source.  */
+  i386_linux_record_tdep.size__old_kernel_stat = 32;
+  i386_linux_record_tdep.size_tms = 16;
+  i386_linux_record_tdep.size_loff_t = 8;
+  i386_linux_record_tdep.size_flock = 16;
+  i386_linux_record_tdep.size_oldold_utsname = 45;
+  i386_linux_record_tdep.size_ustat = 20;
+  i386_linux_record_tdep.size_old_sigaction = 140;
+  i386_linux_record_tdep.size_old_sigset_t = 128;
+  i386_linux_record_tdep.size_rlimit = 8;
+  i386_linux_record_tdep.size_rusage = 72;
+  i386_linux_record_tdep.size_timeval = 8;
+  i386_linux_record_tdep.size_timezone = 8;
+  i386_linux_record_tdep.size_old_gid_t = 2;
+  i386_linux_record_tdep.size_old_uid_t = 2;
+  i386_linux_record_tdep.size_fd_set = 128;
+  i386_linux_record_tdep.size_dirent = 268;
+  i386_linux_record_tdep.size_dirent64 = 276;
+  i386_linux_record_tdep.size_statfs = 64;
+  i386_linux_record_tdep.size_statfs64 = 84;
+  i386_linux_record_tdep.size_sockaddr = 16;
+  i386_linux_record_tdep.size_int = 4;
+  i386_linux_record_tdep.size_long = 4;
+  i386_linux_record_tdep.size_ulong = 4;
+  i386_linux_record_tdep.size_msghdr = 28;
+  i386_linux_record_tdep.size_itimerval = 16;
+  i386_linux_record_tdep.size_stat = 88;
+  i386_linux_record_tdep.size_old_utsname = 325;
+  i386_linux_record_tdep.size_sysinfo = 64;
+  i386_linux_record_tdep.size_msqid_ds = 88;
+  i386_linux_record_tdep.size_shmid_ds = 84;
+  i386_linux_record_tdep.size_new_utsname = 390;
+  i386_linux_record_tdep.size_timex = 128;
+  i386_linux_record_tdep.size_mem_dqinfo = 24;
+  i386_linux_record_tdep.size_if_dqblk = 68;
+  i386_linux_record_tdep.size_fs_quota_stat = 68;
+  i386_linux_record_tdep.size_timespec = 8;
+  i386_linux_record_tdep.size_pollfd = 8;
+  i386_linux_record_tdep.size_NFS_FHSIZE = 32;
+  i386_linux_record_tdep.size_knfsd_fh = 132;
+  i386_linux_record_tdep.size_TASK_COMM_LEN = 16;
+  i386_linux_record_tdep.size_sigaction = 140;
+  i386_linux_record_tdep.size_sigset_t = 8;
+  i386_linux_record_tdep.size_siginfo_t = 128;
+  i386_linux_record_tdep.size_cap_user_data_t = 12;
+  i386_linux_record_tdep.size_stack_t = 12;
+  i386_linux_record_tdep.size_off_t = i386_linux_record_tdep.size_long;
+  i386_linux_record_tdep.size_stat64 = 96;
+  i386_linux_record_tdep.size_gid_t = 2;
+  i386_linux_record_tdep.size_uid_t = 2;
+  i386_linux_record_tdep.size_PAGE_SIZE = 4096;
+  i386_linux_record_tdep.size_flock64 = 24;
+  i386_linux_record_tdep.size_user_desc = 16;
+  i386_linux_record_tdep.size_io_event = 32;
+  i386_linux_record_tdep.size_iocb = 64;
+  i386_linux_record_tdep.size_epoll_event = 12;
+  i386_linux_record_tdep.size_itimerspec = i386_linux_record_tdep.size_timespec * 2;
+  i386_linux_record_tdep.size_mq_attr = 32;
+  i386_linux_record_tdep.size_siginfo = 128;
+  i386_linux_record_tdep.size_termios = 36;
+  i386_linux_record_tdep.size_termios2 = 44;
+  i386_linux_record_tdep.size_pid_t = 4;
+  i386_linux_record_tdep.size_winsize = 8;
+  i386_linux_record_tdep.size_char = 1;
+  i386_linux_record_tdep.size_serial_struct = 60;
+  i386_linux_record_tdep.size_serial_icounter_struct = 80;
+  i386_linux_record_tdep.size_hayes_esp_config = 12;
 
-  i386_linux_record_tdep.ioctl_TCGETS = I386_LINUX_RECORD_IOCTL_TCGETS;
-  i386_linux_record_tdep.ioctl_TCSETS = I386_LINUX_RECORD_IOCTL_TCSETS;
-  i386_linux_record_tdep.ioctl_TCSETSW = I386_LINUX_RECORD_IOCTL_TCSETSW;
-  i386_linux_record_tdep.ioctl_TCSETSF = I386_LINUX_RECORD_IOCTL_TCSETSF;
-  i386_linux_record_tdep.ioctl_TCGETA = I386_LINUX_RECORD_IOCTL_TCGETA;
-  i386_linux_record_tdep.ioctl_TCSETA = I386_LINUX_RECORD_IOCTL_TCSETA;
-  i386_linux_record_tdep.ioctl_TCSETAW = I386_LINUX_RECORD_IOCTL_TCSETAW;
-  i386_linux_record_tdep.ioctl_TCSETAF = I386_LINUX_RECORD_IOCTL_TCSETAF;
-  i386_linux_record_tdep.ioctl_TCSBRK = I386_LINUX_RECORD_IOCTL_TCSBRK;
-  i386_linux_record_tdep.ioctl_TCXONC = I386_LINUX_RECORD_IOCTL_TCXONC;
-  i386_linux_record_tdep.ioctl_TCFLSH = I386_LINUX_RECORD_IOCTL_TCFLSH;
-  i386_linux_record_tdep.ioctl_TIOCEXCL = I386_LINUX_RECORD_IOCTL_TIOCEXCL;
-  i386_linux_record_tdep.ioctl_TIOCNXCL = I386_LINUX_RECORD_IOCTL_TIOCNXCL;
-  i386_linux_record_tdep.ioctl_TIOCSCTTY = I386_LINUX_RECORD_IOCTL_TIOCSCTTY;
-  i386_linux_record_tdep.ioctl_TIOCGPGRP = I386_LINUX_RECORD_IOCTL_TIOCGPGRP;
-  i386_linux_record_tdep.ioctl_TIOCSPGRP = I386_LINUX_RECORD_IOCTL_TIOCSPGRP;
-  i386_linux_record_tdep.ioctl_TIOCOUTQ = I386_LINUX_RECORD_IOCTL_TIOCOUTQ;
-  i386_linux_record_tdep.ioctl_TIOCSTI = I386_LINUX_RECORD_IOCTL_TIOCSTI;
-  i386_linux_record_tdep.ioctl_TIOCGWINSZ =
-    I386_LINUX_RECORD_IOCTL_TIOCGWINSZ;
-  i386_linux_record_tdep.ioctl_TIOCSWINSZ =
-    I386_LINUX_RECORD_IOCTL_TIOCSWINSZ;
-  i386_linux_record_tdep.ioctl_TIOCMGET = I386_LINUX_RECORD_IOCTL_TIOCMGET;
-  i386_linux_record_tdep.ioctl_TIOCMBIS = I386_LINUX_RECORD_IOCTL_TIOCMBIS;
-  i386_linux_record_tdep.ioctl_TIOCMBIC = I386_LINUX_RECORD_IOCTL_TIOCMBIC;
-  i386_linux_record_tdep.ioctl_TIOCMSET = I386_LINUX_RECORD_IOCTL_TIOCMSET;
-  i386_linux_record_tdep.ioctl_TIOCGSOFTCAR =
-    I386_LINUX_RECORD_IOCTL_TIOCGSOFTCAR;
-  i386_linux_record_tdep.ioctl_TIOCSSOFTCAR =
-    I386_LINUX_RECORD_IOCTL_TIOCSSOFTCAR;
-  i386_linux_record_tdep.ioctl_FIONREAD = I386_LINUX_RECORD_IOCTL_FIONREAD;
-  i386_linux_record_tdep.ioctl_TIOCINQ = I386_LINUX_RECORD_IOCTL_TIOCINQ;
-  i386_linux_record_tdep.ioctl_TIOCLINUX = I386_LINUX_RECORD_IOCTL_TIOCLINUX;
-  i386_linux_record_tdep.ioctl_TIOCCONS = I386_LINUX_RECORD_IOCTL_TIOCCONS;
-  i386_linux_record_tdep.ioctl_TIOCGSERIAL =
-    I386_LINUX_RECORD_IOCTL_TIOCGSERIAL;
-  i386_linux_record_tdep.ioctl_TIOCSSERIAL =
-    I386_LINUX_RECORD_IOCTL_TIOCSSERIAL;
-  i386_linux_record_tdep.ioctl_TIOCPKT = I386_LINUX_RECORD_IOCTL_TIOCPKT;
-  i386_linux_record_tdep.ioctl_FIONBIO = I386_LINUX_RECORD_IOCTL_FIONBIO;
-  i386_linux_record_tdep.ioctl_TIOCNOTTY = I386_LINUX_RECORD_IOCTL_TIOCNOTTY;
-  i386_linux_record_tdep.ioctl_TIOCSETD = I386_LINUX_RECORD_IOCTL_TIOCSETD;
-  i386_linux_record_tdep.ioctl_TIOCGETD = I386_LINUX_RECORD_IOCTL_TIOCGETD;
-  i386_linux_record_tdep.ioctl_TCSBRKP = I386_LINUX_RECORD_IOCTL_TCSBRKP;
-  i386_linux_record_tdep.ioctl_TIOCTTYGSTRUCT =
-    I386_LINUX_RECORD_IOCTL_TIOCTTYGSTRUCT;
-  i386_linux_record_tdep.ioctl_TIOCSBRK = I386_LINUX_RECORD_IOCTL_TIOCSBRK;
-  i386_linux_record_tdep.ioctl_TIOCCBRK = I386_LINUX_RECORD_IOCTL_TIOCCBRK;
-  i386_linux_record_tdep.ioctl_TIOCGSID = I386_LINUX_RECORD_IOCTL_TIOCGSID;
-  i386_linux_record_tdep.ioctl_TCGETS2 = I386_LINUX_RECORD_IOCTL_TCGETS2;
-  i386_linux_record_tdep.ioctl_TCSETS2 = I386_LINUX_RECORD_IOCTL_TCSETS2;
-  i386_linux_record_tdep.ioctl_TCSETSW2 = I386_LINUX_RECORD_IOCTL_TCSETSW2;
-  i386_linux_record_tdep.ioctl_TCSETSF2 = I386_LINUX_RECORD_IOCTL_TCSETSF2;
-  i386_linux_record_tdep.ioctl_TIOCGPTN = I386_LINUX_RECORD_IOCTL_TIOCGPTN;
-  i386_linux_record_tdep.ioctl_TIOCSPTLCK =
-    I386_LINUX_RECORD_IOCTL_TIOCSPTLCK;
-  i386_linux_record_tdep.ioctl_FIONCLEX = I386_LINUX_RECORD_IOCTL_FIONCLEX;
-  i386_linux_record_tdep.ioctl_FIOCLEX = I386_LINUX_RECORD_IOCTL_FIOCLEX;
-  i386_linux_record_tdep.ioctl_FIOASYNC = I386_LINUX_RECORD_IOCTL_FIOASYNC;
-  i386_linux_record_tdep.ioctl_TIOCSERCONFIG =
-    I386_LINUX_RECORD_IOCTL_TIOCSERCONFIG;
-  i386_linux_record_tdep.ioctl_TIOCSERGWILD =
-    I386_LINUX_RECORD_IOCTL_TIOCSERGWILD;
-  i386_linux_record_tdep.ioctl_TIOCSERSWILD =
-    I386_LINUX_RECORD_IOCTL_TIOCSERSWILD;
-  i386_linux_record_tdep.ioctl_TIOCGLCKTRMIOS =
-    I386_LINUX_RECORD_IOCTL_TIOCGLCKTRMIOS;
-  i386_linux_record_tdep.ioctl_TIOCSLCKTRMIOS =
-    I386_LINUX_RECORD_IOCTL_TIOCSLCKTRMIOS;
-  i386_linux_record_tdep.ioctl_TIOCSERGSTRUCT =
-    I386_LINUX_RECORD_IOCTL_TIOCSERGSTRUCT;
-  i386_linux_record_tdep.ioctl_TIOCSERGETLSR =
-    I386_LINUX_RECORD_IOCTL_TIOCSERGETLSR;
-  i386_linux_record_tdep.ioctl_TIOCSERGETMULTI =
-    I386_LINUX_RECORD_IOCTL_TIOCSERGETMULTI;
-  i386_linux_record_tdep.ioctl_TIOCSERSETMULTI =
-    I386_LINUX_RECORD_IOCTL_TIOCSERSETMULTI;
-  i386_linux_record_tdep.ioctl_TIOCMIWAIT =
-    I386_LINUX_RECORD_IOCTL_TIOCMIWAIT;
-  i386_linux_record_tdep.ioctl_TIOCGICOUNT =
-    I386_LINUX_RECORD_IOCTL_TIOCGICOUNT;
-  i386_linux_record_tdep.ioctl_TIOCGHAYESESP =
-    I386_LINUX_RECORD_IOCTL_TIOCGHAYESESP;
-  i386_linux_record_tdep.ioctl_TIOCSHAYESESP =
-    I386_LINUX_RECORD_IOCTL_TIOCSHAYESESP;
-  i386_linux_record_tdep.ioctl_FIOQSIZE = I386_LINUX_RECORD_IOCTL_FIOQSIZE;
+  /* These values are the second argument of system call "sys_ioctl".
+     They are obtained from Linux Kernel source.  */
+  i386_linux_record_tdep.ioctl_TCGETS = 0x5401;
+  i386_linux_record_tdep.ioctl_TCSETS = 0x5402;
+  i386_linux_record_tdep.ioctl_TCSETSW = 0x5403;
+  i386_linux_record_tdep.ioctl_TCSETSF = 0x5404;
+  i386_linux_record_tdep.ioctl_TCGETA = 0x5405;
+  i386_linux_record_tdep.ioctl_TCSETA = 0x5406;
+  i386_linux_record_tdep.ioctl_TCSETAW = 0x5407;
+  i386_linux_record_tdep.ioctl_TCSETAF = 0x5408;
+  i386_linux_record_tdep.ioctl_TCSBRK = 0x5409;
+  i386_linux_record_tdep.ioctl_TCXONC = 0x540A;
+  i386_linux_record_tdep.ioctl_TCFLSH = 0x540B;
+  i386_linux_record_tdep.ioctl_TIOCEXCL = 0x540C;
+  i386_linux_record_tdep.ioctl_TIOCNXCL = 0x540D;
+  i386_linux_record_tdep.ioctl_TIOCSCTTY = 0x540E;
+  i386_linux_record_tdep.ioctl_TIOCGPGRP = 0x540F;
+  i386_linux_record_tdep.ioctl_TIOCSPGRP = 0x5410;
+  i386_linux_record_tdep.ioctl_TIOCOUTQ = 0x5411;
+  i386_linux_record_tdep.ioctl_TIOCSTI = 0x5412;
+  i386_linux_record_tdep.ioctl_TIOCGWINSZ = 0x5413;
+  i386_linux_record_tdep.ioctl_TIOCSWINSZ = 0x5414;
+  i386_linux_record_tdep.ioctl_TIOCMGET = 0x5415;
+  i386_linux_record_tdep.ioctl_TIOCMBIS = 0x5416;
+  i386_linux_record_tdep.ioctl_TIOCMBIC = 0x5417;
+  i386_linux_record_tdep.ioctl_TIOCMSET = 0x5418;
+  i386_linux_record_tdep.ioctl_TIOCGSOFTCAR = 0x5419;
+  i386_linux_record_tdep.ioctl_TIOCSSOFTCAR = 0x541A;
+  i386_linux_record_tdep.ioctl_FIONREAD = 0x541B;
+  i386_linux_record_tdep.ioctl_TIOCINQ = i386_linux_record_tdep.ioctl_FIONREAD;
+  i386_linux_record_tdep.ioctl_TIOCLINUX = 0x541C;
+  i386_linux_record_tdep.ioctl_TIOCCONS = 0x541D;
+  i386_linux_record_tdep.ioctl_TIOCGSERIAL = 0x541E;
+  i386_linux_record_tdep.ioctl_TIOCSSERIAL = 0x541F;
+  i386_linux_record_tdep.ioctl_TIOCPKT = 0x5420;
+  i386_linux_record_tdep.ioctl_FIONBIO = 0x5421;
+  i386_linux_record_tdep.ioctl_TIOCNOTTY = 0x5422;
+  i386_linux_record_tdep.ioctl_TIOCSETD = 0x5423;
+  i386_linux_record_tdep.ioctl_TIOCGETD = 0x5424;
+  i386_linux_record_tdep.ioctl_TCSBRKP = 0x5425;
+  i386_linux_record_tdep.ioctl_TIOCTTYGSTRUCT = 0x5426;
+  i386_linux_record_tdep.ioctl_TIOCSBRK = 0x5427;
+  i386_linux_record_tdep.ioctl_TIOCCBRK = 0x5428;
+  i386_linux_record_tdep.ioctl_TIOCGSID = 0x5429;
+  i386_linux_record_tdep.ioctl_TCGETS2 = 0x802c542a;
+  i386_linux_record_tdep.ioctl_TCSETS2 = 0x402c542b;
+  i386_linux_record_tdep.ioctl_TCSETSW2 = 0x402c542c;
+  i386_linux_record_tdep.ioctl_TCSETSF2 = 0x402c542d;
+  i386_linux_record_tdep.ioctl_TIOCGPTN = 0x80045430;
+  i386_linux_record_tdep.ioctl_TIOCSPTLCK = 0x40045431;
+  i386_linux_record_tdep.ioctl_FIONCLEX = 0x5450;
+  i386_linux_record_tdep.ioctl_FIOCLEX = 0x5451;
+  i386_linux_record_tdep.ioctl_FIOASYNC = 0x5452;
+  i386_linux_record_tdep.ioctl_TIOCSERCONFIG = 0x5453;
+  i386_linux_record_tdep.ioctl_TIOCSERGWILD = 0x5454;
+  i386_linux_record_tdep.ioctl_TIOCSERSWILD = 0x5455;
+  i386_linux_record_tdep.ioctl_TIOCGLCKTRMIOS = 0x5456;
+  i386_linux_record_tdep.ioctl_TIOCSLCKTRMIOS = 0x5457;
+  i386_linux_record_tdep.ioctl_TIOCSERGSTRUCT = 0x5458;
+  i386_linux_record_tdep.ioctl_TIOCSERGETLSR = 0x5459;
+  i386_linux_record_tdep.ioctl_TIOCSERGETMULTI = 0x545A;
+  i386_linux_record_tdep.ioctl_TIOCSERSETMULTI = 0x545B;
+  i386_linux_record_tdep.ioctl_TIOCMIWAIT = 0x545C;
+  i386_linux_record_tdep.ioctl_TIOCGICOUNT = 0x545D;
+  i386_linux_record_tdep.ioctl_TIOCGHAYESESP = 0x545E;
+  i386_linux_record_tdep.ioctl_TIOCSHAYESESP = 0x545F;
+  i386_linux_record_tdep.ioctl_FIOQSIZE = 0x5460;
 
-  i386_linux_record_tdep.fcntl_F_GETLK = I386_LINUX_RECORD_FCNTL_F_GETLK;
-  i386_linux_record_tdep.fcntl_F_GETLK64 = I386_LINUX_RECORD_FCNTL_F_GETLK64;
-  i386_linux_record_tdep.fcntl_F_SETLK64 = I386_LINUX_RECORD_FCNTL_F_SETLK64;
-  i386_linux_record_tdep.fcntl_F_SETLKW64 =
-    I386_LINUX_RECORD_FCNTL_F_SETLKW64;
+  /* These values are the second argument of system call "sys_fcntl"
+     and "sys_fcntl64".  They are obtained from Linux Kernel source.  */
+  i386_linux_record_tdep.fcntl_F_GETLK = 5;
+  i386_linux_record_tdep.fcntl_F_GETLK64 = 12;
+  i386_linux_record_tdep.fcntl_F_SETLK64 = 13;
+  i386_linux_record_tdep.fcntl_F_SETLKW64 = 14;
 
   i386_linux_record_tdep.arg1 = I386_EBX_REGNUM;
   i386_linux_record_tdep.arg2 = I386_ECX_REGNUM;

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Prec/RFA] Remove macros for record size in i386-linux-tdep.c
  2009-05-23  4:00 [Prec/RFA] Remove macros for record size in i386-linux-tdep.c Hui Zhu
@ 2009-05-23 11:12 ` Pedro Alves
  2009-05-23 11:59   ` Hui Zhu
  0 siblings, 1 reply; 8+ messages in thread
From: Pedro Alves @ 2009-05-23 11:12 UTC (permalink / raw)
  To: gdb-patches; +Cc: Hui Zhu

On Saturday 23 May 2009 05:00:22, Hui Zhu wrote:
> 2009-05-23  Hui Zhu  <teawater@gmail.com>
> 
>         * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
>         I386_LINUX_RECORD_IOCTL_*,
>         I386_LINUX_RECORD_FCNTL_*) Removed.
>         (i386_linux_init_abi): Change size of record from macros to
>         numbers.

Okay.

>         * i386-linux-tdep.c (i386_linux_init_abi): Change
>         i386_linux_record_tdep.size_char from 8 to 1.

You didn't mention this, so I take it it was going to be a separate patch.
Why do you need size_char at all?  size of char is always 1 by definition.
Does the kernel define this as variable somewhere also?

-- 
Pedro Alves


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Prec/RFA] Remove macros for record size in i386-linux-tdep.c
  2009-05-23 11:12 ` Pedro Alves
@ 2009-05-23 11:59   ` Hui Zhu
  2009-05-23 12:13     ` Hui Zhu
  0 siblings, 1 reply; 8+ messages in thread
From: Hui Zhu @ 2009-05-23 11:59 UTC (permalink / raw)
  To: Pedro Alves; +Cc: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 1253 bytes --]

On Sat, May 23, 2009 at 19:12, Pedro Alves <pedro@codesourcery.com> wrote:
> On Saturday 23 May 2009 05:00:22, Hui Zhu wrote:
>> 2009-05-23  Hui Zhu  <teawater@gmail.com>
>>
>>         * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
>>         I386_LINUX_RECORD_IOCTL_*,
>>         I386_LINUX_RECORD_FCNTL_*) Removed.
>>         (i386_linux_init_abi): Change size of record from macros to
>>         numbers.
>
> Okay.
>
>>         * i386-linux-tdep.c (i386_linux_init_abi): Change
>>         i386_linux_record_tdep.size_char from 8 to 1.
>
> You didn't mention this, so I take it it was going to be a separate patch.
> Why do you need size_char at all?  size of char is always 1 by definition.
> Does the kernel define this as variable somewhere also?

OK.  I make a new patch remove it.
Please help me review it.

Thanks,
Hui

2009-05-23  Hui Zhu  <teawater@gmail.com>

	* i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
	I386_LINUX_RECORD_IOCTL_*,
	I386_LINUX_RECORD_FCNTL_*) Removed.
	(i386_linux_init_abi): Change size of record from macros to
	numbers.

	* i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
	* linux-record.c (record_linux_system_call): Ditto.
	* linux-record.h (linux_record_tdep): Ditto.

[-- Attachment #2: remove-i386-linux-tdep-macro.txt --]
[-- Type: text/plain, Size: 26205 bytes --]

---
 i386-linux-tdep.c |  457 ++++++++++++++++--------------------------------------
 linux-record.c    |    3 
 linux-record.h    |    1 
 3 files changed, 142 insertions(+), 319 deletions(-)

--- a/i386-linux-tdep.c
+++ b/i386-linux-tdep.c
@@ -447,153 +447,6 @@ static int i386_linux_sc_reg_offset[] =
   0 * 4				/* %gs */
 };
 
-/* These macros are the size of the type that will be used in a system
-   call.  The values of these macros were obtained from Linux Kernel
-   source.  */
-#define I386_LINUX_RECORD_SIZE__old_kernel_stat	32
-#define I386_LINUX_RECORD_SIZE_tms			16
-#define I386_LINUX_RECORD_SIZE_loff_t			8
-#define I386_LINUX_RECORD_SIZE_flock			16
-#define I386_LINUX_RECORD_SIZE_oldold_utsname		45
-#define I386_LINUX_RECORD_SIZE_ustat			20
-#define I386_LINUX_RECORD_SIZE_old_sigaction		140
-#define I386_LINUX_RECORD_SIZE_old_sigset_t		128
-#define I386_LINUX_RECORD_SIZE_rlimit			8
-#define I386_LINUX_RECORD_SIZE_rusage			72
-#define I386_LINUX_RECORD_SIZE_timeval		8
-#define I386_LINUX_RECORD_SIZE_timezone		8
-#define I386_LINUX_RECORD_SIZE_old_gid_t		2
-#define I386_LINUX_RECORD_SIZE_old_uid_t		2
-#define I386_LINUX_RECORD_SIZE_fd_set			128
-#define I386_LINUX_RECORD_SIZE_dirent			268
-#define I386_LINUX_RECORD_SIZE_dirent64		276
-#define I386_LINUX_RECORD_SIZE_statfs			64
-#define I386_LINUX_RECORD_SIZE_statfs64		84
-#define I386_LINUX_RECORD_SIZE_sockaddr		16
-#define I386_LINUX_RECORD_SIZE_int			4
-#define I386_LINUX_RECORD_SIZE_long			4
-#define I386_LINUX_RECORD_SIZE_ulong			4
-#define I386_LINUX_RECORD_SIZE_msghdr			28
-#define I386_LINUX_RECORD_SIZE_itimerval		16
-#define I386_LINUX_RECORD_SIZE_stat			88
-#define I386_LINUX_RECORD_SIZE_old_utsname		325
-#define I386_LINUX_RECORD_SIZE_sysinfo		64
-#define I386_LINUX_RECORD_SIZE_msqid_ds		88
-#define I386_LINUX_RECORD_SIZE_shmid_ds		84
-#define I386_LINUX_RECORD_SIZE_new_utsname		390
-#define I386_LINUX_RECORD_SIZE_timex			128
-#define I386_LINUX_RECORD_SIZE_mem_dqinfo		24
-#define I386_LINUX_RECORD_SIZE_if_dqblk		68
-#define I386_LINUX_RECORD_SIZE_fs_quota_stat		68
-#define I386_LINUX_RECORD_SIZE_timespec		8
-#define I386_LINUX_RECORD_SIZE_pollfd			8
-#define I386_LINUX_RECORD_SIZE_NFS_FHSIZE		32
-#define I386_LINUX_RECORD_SIZE_knfsd_fh		132
-#define I386_LINUX_RECORD_SIZE_TASK_COMM_LEN		16
-#define I386_LINUX_RECORD_SIZE_sigaction		140
-#define I386_LINUX_RECORD_SIZE_sigset_t		8
-#define I386_LINUX_RECORD_SIZE_siginfo_t		128
-#define I386_LINUX_RECORD_SIZE_cap_user_data_t	12
-#define I386_LINUX_RECORD_SIZE_stack_t		12
-#define I386_LINUX_RECORD_SIZE_off_t			I386_LINUX_RECORD_SIZE_long
-#define I386_LINUX_RECORD_SIZE_stat64			96
-#define I386_LINUX_RECORD_SIZE_gid_t			2
-#define I386_LINUX_RECORD_SIZE_uid_t			2
-#define I386_LINUX_RECORD_SIZE_PAGE_SIZE		4096
-#define I386_LINUX_RECORD_SIZE_flock64		24
-#define I386_LINUX_RECORD_SIZE_user_desc		16
-#define I386_LINUX_RECORD_SIZE_io_event		32
-#define I386_LINUX_RECORD_SIZE_iocb			64
-#define I386_LINUX_RECORD_SIZE_epoll_event		12
-#define I386_LINUX_RECORD_SIZE_itimerspec		(I386_LINUX_RECORD_SIZE_timespec * 2)
-#define I386_LINUX_RECORD_SIZE_mq_attr		32
-#define I386_LINUX_RECORD_SIZE_siginfo		128
-#define I386_LINUX_RECORD_SIZE_termios		36
-#define I386_LINUX_RECORD_SIZE_termios2		44
-#define I386_LINUX_RECORD_SIZE_pid_t			4
-#define I386_LINUX_RECORD_SIZE_winsize		8
-#define I386_LINUX_RECORD_SIZE_char			8
-#define I386_LINUX_RECORD_SIZE_serial_struct		60
-#define I386_LINUX_RECORD_SIZE_serial_icounter_struct	80
-#define I386_LINUX_RECORD_SIZE_hayes_esp_config	12
-
-/* These macros are the values of the second argument of system call
-   "sys_ioctl".  The values of these macros were obtained from Linux
-   Kernel source.  */
-#define I386_LINUX_RECORD_IOCTL_TCGETS		0x5401
-#define I386_LINUX_RECORD_IOCTL_TCSETS		0x5402
-#define I386_LINUX_RECORD_IOCTL_TCSETSW		0x5403
-#define I386_LINUX_RECORD_IOCTL_TCSETSF		0x5404
-#define I386_LINUX_RECORD_IOCTL_TCGETA		0x5405
-#define I386_LINUX_RECORD_IOCTL_TCSETA		0x5406
-#define I386_LINUX_RECORD_IOCTL_TCSETAW		0x5407
-#define I386_LINUX_RECORD_IOCTL_TCSETAF		0x5408
-#define I386_LINUX_RECORD_IOCTL_TCSBRK		0x5409
-#define I386_LINUX_RECORD_IOCTL_TCXONC		0x540A
-#define I386_LINUX_RECORD_IOCTL_TCFLSH		0x540B
-#define I386_LINUX_RECORD_IOCTL_TIOCEXCL		0x540C
-#define I386_LINUX_RECORD_IOCTL_TIOCNXCL		0x540D
-#define I386_LINUX_RECORD_IOCTL_TIOCSCTTY		0x540E
-#define I386_LINUX_RECORD_IOCTL_TIOCGPGRP		0x540F
-#define I386_LINUX_RECORD_IOCTL_TIOCSPGRP		0x5410
-#define I386_LINUX_RECORD_IOCTL_TIOCOUTQ		0x5411
-#define I386_LINUX_RECORD_IOCTL_TIOCSTI		0x5412
-#define I386_LINUX_RECORD_IOCTL_TIOCGWINSZ		0x5413
-#define I386_LINUX_RECORD_IOCTL_TIOCSWINSZ		0x5414
-#define I386_LINUX_RECORD_IOCTL_TIOCMGET		0x5415
-#define I386_LINUX_RECORD_IOCTL_TIOCMBIS		0x5416
-#define I386_LINUX_RECORD_IOCTL_TIOCMBIC		0x5417
-#define I386_LINUX_RECORD_IOCTL_TIOCMSET		0x5418
-#define I386_LINUX_RECORD_IOCTL_TIOCGSOFTCAR		0x5419
-#define I386_LINUX_RECORD_IOCTL_TIOCSSOFTCAR		0x541A
-#define I386_LINUX_RECORD_IOCTL_FIONREAD		0x541B
-#define I386_LINUX_RECORD_IOCTL_TIOCINQ		I386_LINUX_RECORD_IOCTL_FIONREAD
-#define I386_LINUX_RECORD_IOCTL_TIOCLINUX		0x541C
-#define I386_LINUX_RECORD_IOCTL_TIOCCONS		0x541D
-#define I386_LINUX_RECORD_IOCTL_TIOCGSERIAL		0x541E
-#define I386_LINUX_RECORD_IOCTL_TIOCSSERIAL		0x541F
-#define I386_LINUX_RECORD_IOCTL_TIOCPKT		0x5420
-#define I386_LINUX_RECORD_IOCTL_FIONBIO		0x5421
-#define I386_LINUX_RECORD_IOCTL_TIOCNOTTY		0x5422
-#define I386_LINUX_RECORD_IOCTL_TIOCSETD		0x5423
-#define I386_LINUX_RECORD_IOCTL_TIOCGETD		0x5424
-#define I386_LINUX_RECORD_IOCTL_TCSBRKP		0x5425
-#define I386_LINUX_RECORD_IOCTL_TIOCTTYGSTRUCT 	0x5426
-#define I386_LINUX_RECORD_IOCTL_TIOCSBRK		0x5427
-#define I386_LINUX_RECORD_IOCTL_TIOCCBRK		0x5428
-#define I386_LINUX_RECORD_IOCTL_TIOCGSID		0x5429
-#define I386_LINUX_RECORD_IOCTL_TCGETS2		0x802c542a
-#define I386_LINUX_RECORD_IOCTL_TCSETS2		0x402c542b
-#define I386_LINUX_RECORD_IOCTL_TCSETSW2		0x402c542c
-#define I386_LINUX_RECORD_IOCTL_TCSETSF2		0x402c542d
-#define I386_LINUX_RECORD_IOCTL_TIOCGPTN		0x80045430
-#define I386_LINUX_RECORD_IOCTL_TIOCSPTLCK		0x40045431
-#define I386_LINUX_RECORD_IOCTL_FIONCLEX		0x5450
-#define I386_LINUX_RECORD_IOCTL_FIOCLEX		0x5451
-#define I386_LINUX_RECORD_IOCTL_FIOASYNC		0x5452
-#define I386_LINUX_RECORD_IOCTL_TIOCSERCONFIG		0x5453
-#define I386_LINUX_RECORD_IOCTL_TIOCSERGWILD		0x5454
-#define I386_LINUX_RECORD_IOCTL_TIOCSERSWILD		0x5455
-#define I386_LINUX_RECORD_IOCTL_TIOCGLCKTRMIOS	0x5456
-#define I386_LINUX_RECORD_IOCTL_TIOCSLCKTRMIOS	0x5457
-#define I386_LINUX_RECORD_IOCTL_TIOCSERGSTRUCT	0x5458
-#define I386_LINUX_RECORD_IOCTL_TIOCSERGETLSR   	0x5459
-#define I386_LINUX_RECORD_IOCTL_TIOCSERGETMULTI	0x545A
-#define I386_LINUX_RECORD_IOCTL_TIOCSERSETMULTI	0x545B
-#define I386_LINUX_RECORD_IOCTL_TIOCMIWAIT		0x545C
-#define I386_LINUX_RECORD_IOCTL_TIOCGICOUNT		0x545D
-#define I386_LINUX_RECORD_IOCTL_TIOCGHAYESESP		0x545E
-#define I386_LINUX_RECORD_IOCTL_TIOCSHAYESESP		0x545F
-#define I386_LINUX_RECORD_IOCTL_FIOQSIZE		0x5460
-
-/* The values of the second argument of system call "sys_fcntl"
-   and "sys_fcntl64".  The values of these macros were obtained from
-   Linux Kernel source.  */
-#define I386_LINUX_RECORD_FCNTL_F_GETLK			5
-#define I386_LINUX_RECORD_FCNTL_F_GETLK64		12
-#define I386_LINUX_RECORD_FCNTL_F_SETLK64		13
-#define I386_LINUX_RECORD_FCNTL_F_SETLKW64		14
-
 static void
 i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 {
@@ -624,178 +477,148 @@ i386_linux_init_abi (struct gdbarch_info
   set_gdbarch_process_record (gdbarch, i386_process_record);
 
   /* Initialize the i386_linux_record_tdep.  */
-  i386_linux_record_tdep.size__old_kernel_stat =
-    I386_LINUX_RECORD_SIZE__old_kernel_stat;
-  i386_linux_record_tdep.size_tms = I386_LINUX_RECORD_SIZE_tms;
-  i386_linux_record_tdep.size_loff_t = I386_LINUX_RECORD_SIZE_loff_t;
-  i386_linux_record_tdep.size_flock = I386_LINUX_RECORD_SIZE_flock;
-  i386_linux_record_tdep.size_oldold_utsname =
-    I386_LINUX_RECORD_SIZE_oldold_utsname;
-  i386_linux_record_tdep.size_ustat = I386_LINUX_RECORD_SIZE_ustat;
-  i386_linux_record_tdep.size_old_sigaction =
-    I386_LINUX_RECORD_SIZE_old_sigaction;
-  i386_linux_record_tdep.size_old_sigset_t =
-    I386_LINUX_RECORD_SIZE_old_sigset_t;
-  i386_linux_record_tdep.size_rlimit = I386_LINUX_RECORD_SIZE_rlimit;
-  i386_linux_record_tdep.size_rusage = I386_LINUX_RECORD_SIZE_rusage;
-  i386_linux_record_tdep.size_timeval = I386_LINUX_RECORD_SIZE_timeval;
-  i386_linux_record_tdep.size_timezone = I386_LINUX_RECORD_SIZE_timezone;
-  i386_linux_record_tdep.size_old_gid_t = I386_LINUX_RECORD_SIZE_old_gid_t;
-  i386_linux_record_tdep.size_old_uid_t = I386_LINUX_RECORD_SIZE_old_uid_t;
-  i386_linux_record_tdep.size_fd_set = I386_LINUX_RECORD_SIZE_fd_set;
-  i386_linux_record_tdep.size_dirent = I386_LINUX_RECORD_SIZE_dirent;
-  i386_linux_record_tdep.size_dirent64 = I386_LINUX_RECORD_SIZE_dirent64;
-  i386_linux_record_tdep.size_statfs = I386_LINUX_RECORD_SIZE_statfs;
-  i386_linux_record_tdep.size_statfs64 = I386_LINUX_RECORD_SIZE_statfs64;
-  i386_linux_record_tdep.size_sockaddr = I386_LINUX_RECORD_SIZE_sockaddr;
-  i386_linux_record_tdep.size_int = I386_LINUX_RECORD_SIZE_int;
-  i386_linux_record_tdep.size_long = I386_LINUX_RECORD_SIZE_long;
-  i386_linux_record_tdep.size_ulong = I386_LINUX_RECORD_SIZE_ulong;
-  i386_linux_record_tdep.size_msghdr = I386_LINUX_RECORD_SIZE_msghdr;
-  i386_linux_record_tdep.size_itimerval = I386_LINUX_RECORD_SIZE_itimerval;
-  i386_linux_record_tdep.size_stat = I386_LINUX_RECORD_SIZE_stat;
-  i386_linux_record_tdep.size_old_utsname =
-    I386_LINUX_RECORD_SIZE_old_utsname;
-  i386_linux_record_tdep.size_sysinfo = I386_LINUX_RECORD_SIZE_sysinfo;
-  i386_linux_record_tdep.size_msqid_ds = I386_LINUX_RECORD_SIZE_msqid_ds;
-  i386_linux_record_tdep.size_shmid_ds = I386_LINUX_RECORD_SIZE_shmid_ds;
-  i386_linux_record_tdep.size_new_utsname =
-    I386_LINUX_RECORD_SIZE_new_utsname;
-  i386_linux_record_tdep.size_timex = I386_LINUX_RECORD_SIZE_timex;
-  i386_linux_record_tdep.size_mem_dqinfo = I386_LINUX_RECORD_SIZE_mem_dqinfo;
-  i386_linux_record_tdep.size_if_dqblk = I386_LINUX_RECORD_SIZE_if_dqblk;
-  i386_linux_record_tdep.size_fs_quota_stat =
-    I386_LINUX_RECORD_SIZE_fs_quota_stat;
-  i386_linux_record_tdep.size_timespec = I386_LINUX_RECORD_SIZE_timespec;
-  i386_linux_record_tdep.size_pollfd = I386_LINUX_RECORD_SIZE_pollfd;
-  i386_linux_record_tdep.size_NFS_FHSIZE = I386_LINUX_RECORD_SIZE_NFS_FHSIZE;
-  i386_linux_record_tdep.size_knfsd_fh = I386_LINUX_RECORD_SIZE_knfsd_fh;
-  i386_linux_record_tdep.size_TASK_COMM_LEN =
-    I386_LINUX_RECORD_SIZE_TASK_COMM_LEN;
-  i386_linux_record_tdep.size_sigaction = I386_LINUX_RECORD_SIZE_sigaction;
-  i386_linux_record_tdep.size_sigset_t = I386_LINUX_RECORD_SIZE_sigset_t;
-  i386_linux_record_tdep.size_siginfo_t = I386_LINUX_RECORD_SIZE_siginfo_t;
-  i386_linux_record_tdep.size_cap_user_data_t =
-    I386_LINUX_RECORD_SIZE_cap_user_data_t;
-  i386_linux_record_tdep.size_stack_t = I386_LINUX_RECORD_SIZE_stack_t;
-  i386_linux_record_tdep.size_off_t = I386_LINUX_RECORD_SIZE_off_t;
-  i386_linux_record_tdep.size_stat64 = I386_LINUX_RECORD_SIZE_stat64;
-  i386_linux_record_tdep.size_gid_t = I386_LINUX_RECORD_SIZE_gid_t;
-  i386_linux_record_tdep.size_uid_t = I386_LINUX_RECORD_SIZE_uid_t;
-  i386_linux_record_tdep.size_PAGE_SIZE = I386_LINUX_RECORD_SIZE_PAGE_SIZE;
-  i386_linux_record_tdep.size_flock64 = I386_LINUX_RECORD_SIZE_flock64;
-  i386_linux_record_tdep.size_user_desc = I386_LINUX_RECORD_SIZE_user_desc;
-  i386_linux_record_tdep.size_io_event = I386_LINUX_RECORD_SIZE_io_event;
-  i386_linux_record_tdep.size_iocb = I386_LINUX_RECORD_SIZE_iocb;
-  i386_linux_record_tdep.size_epoll_event =
-    I386_LINUX_RECORD_SIZE_epoll_event;
-  i386_linux_record_tdep.size_itimerspec = I386_LINUX_RECORD_SIZE_itimerspec;
-  i386_linux_record_tdep.size_mq_attr = I386_LINUX_RECORD_SIZE_mq_attr;
-  i386_linux_record_tdep.size_siginfo = I386_LINUX_RECORD_SIZE_siginfo;
-  i386_linux_record_tdep.size_termios = I386_LINUX_RECORD_SIZE_termios;
-  i386_linux_record_tdep.size_termios2 = I386_LINUX_RECORD_SIZE_termios2;
-  i386_linux_record_tdep.size_pid_t = I386_LINUX_RECORD_SIZE_pid_t;
-  i386_linux_record_tdep.size_winsize = I386_LINUX_RECORD_SIZE_winsize;
-  i386_linux_record_tdep.size_char = I386_LINUX_RECORD_SIZE_char;
-  i386_linux_record_tdep.size_serial_struct =
-    I386_LINUX_RECORD_SIZE_serial_struct;
-  i386_linux_record_tdep.size_serial_icounter_struct =
-    I386_LINUX_RECORD_SIZE_serial_icounter_struct;
-  i386_linux_record_tdep.size_hayes_esp_config =
-    I386_LINUX_RECORD_SIZE_hayes_esp_config;
+  /* These values are the size of the type that will be used in a system
+     call.  They are obtained from Linux Kernel source.  */
+  i386_linux_record_tdep.size__old_kernel_stat = 32;
+  i386_linux_record_tdep.size_tms = 16;
+  i386_linux_record_tdep.size_loff_t = 8;
+  i386_linux_record_tdep.size_flock = 16;
+  i386_linux_record_tdep.size_oldold_utsname = 45;
+  i386_linux_record_tdep.size_ustat = 20;
+  i386_linux_record_tdep.size_old_sigaction = 140;
+  i386_linux_record_tdep.size_old_sigset_t = 128;
+  i386_linux_record_tdep.size_rlimit = 8;
+  i386_linux_record_tdep.size_rusage = 72;
+  i386_linux_record_tdep.size_timeval = 8;
+  i386_linux_record_tdep.size_timezone = 8;
+  i386_linux_record_tdep.size_old_gid_t = 2;
+  i386_linux_record_tdep.size_old_uid_t = 2;
+  i386_linux_record_tdep.size_fd_set = 128;
+  i386_linux_record_tdep.size_dirent = 268;
+  i386_linux_record_tdep.size_dirent64 = 276;
+  i386_linux_record_tdep.size_statfs = 64;
+  i386_linux_record_tdep.size_statfs64 = 84;
+  i386_linux_record_tdep.size_sockaddr = 16;
+  i386_linux_record_tdep.size_int = 4;
+  i386_linux_record_tdep.size_long = 4;
+  i386_linux_record_tdep.size_ulong = 4;
+  i386_linux_record_tdep.size_msghdr = 28;
+  i386_linux_record_tdep.size_itimerval = 16;
+  i386_linux_record_tdep.size_stat = 88;
+  i386_linux_record_tdep.size_old_utsname = 325;
+  i386_linux_record_tdep.size_sysinfo = 64;
+  i386_linux_record_tdep.size_msqid_ds = 88;
+  i386_linux_record_tdep.size_shmid_ds = 84;
+  i386_linux_record_tdep.size_new_utsname = 390;
+  i386_linux_record_tdep.size_timex = 128;
+  i386_linux_record_tdep.size_mem_dqinfo = 24;
+  i386_linux_record_tdep.size_if_dqblk = 68;
+  i386_linux_record_tdep.size_fs_quota_stat = 68;
+  i386_linux_record_tdep.size_timespec = 8;
+  i386_linux_record_tdep.size_pollfd = 8;
+  i386_linux_record_tdep.size_NFS_FHSIZE = 32;
+  i386_linux_record_tdep.size_knfsd_fh = 132;
+  i386_linux_record_tdep.size_TASK_COMM_LEN = 16;
+  i386_linux_record_tdep.size_sigaction = 140;
+  i386_linux_record_tdep.size_sigset_t = 8;
+  i386_linux_record_tdep.size_siginfo_t = 128;
+  i386_linux_record_tdep.size_cap_user_data_t = 12;
+  i386_linux_record_tdep.size_stack_t = 12;
+  i386_linux_record_tdep.size_off_t = i386_linux_record_tdep.size_long;
+  i386_linux_record_tdep.size_stat64 = 96;
+  i386_linux_record_tdep.size_gid_t = 2;
+  i386_linux_record_tdep.size_uid_t = 2;
+  i386_linux_record_tdep.size_PAGE_SIZE = 4096;
+  i386_linux_record_tdep.size_flock64 = 24;
+  i386_linux_record_tdep.size_user_desc = 16;
+  i386_linux_record_tdep.size_io_event = 32;
+  i386_linux_record_tdep.size_iocb = 64;
+  i386_linux_record_tdep.size_epoll_event = 12;
+  i386_linux_record_tdep.size_itimerspec = i386_linux_record_tdep.size_timespec * 2;
+  i386_linux_record_tdep.size_mq_attr = 32;
+  i386_linux_record_tdep.size_siginfo = 128;
+  i386_linux_record_tdep.size_termios = 36;
+  i386_linux_record_tdep.size_termios2 = 44;
+  i386_linux_record_tdep.size_pid_t = 4;
+  i386_linux_record_tdep.size_winsize = 8;
+  i386_linux_record_tdep.size_serial_struct = 60;
+  i386_linux_record_tdep.size_serial_icounter_struct = 80;
+  i386_linux_record_tdep.size_hayes_esp_config = 12;
 
-  i386_linux_record_tdep.ioctl_TCGETS = I386_LINUX_RECORD_IOCTL_TCGETS;
-  i386_linux_record_tdep.ioctl_TCSETS = I386_LINUX_RECORD_IOCTL_TCSETS;
-  i386_linux_record_tdep.ioctl_TCSETSW = I386_LINUX_RECORD_IOCTL_TCSETSW;
-  i386_linux_record_tdep.ioctl_TCSETSF = I386_LINUX_RECORD_IOCTL_TCSETSF;
-  i386_linux_record_tdep.ioctl_TCGETA = I386_LINUX_RECORD_IOCTL_TCGETA;
-  i386_linux_record_tdep.ioctl_TCSETA = I386_LINUX_RECORD_IOCTL_TCSETA;
-  i386_linux_record_tdep.ioctl_TCSETAW = I386_LINUX_RECORD_IOCTL_TCSETAW;
-  i386_linux_record_tdep.ioctl_TCSETAF = I386_LINUX_RECORD_IOCTL_TCSETAF;
-  i386_linux_record_tdep.ioctl_TCSBRK = I386_LINUX_RECORD_IOCTL_TCSBRK;
-  i386_linux_record_tdep.ioctl_TCXONC = I386_LINUX_RECORD_IOCTL_TCXONC;
-  i386_linux_record_tdep.ioctl_TCFLSH = I386_LINUX_RECORD_IOCTL_TCFLSH;
-  i386_linux_record_tdep.ioctl_TIOCEXCL = I386_LINUX_RECORD_IOCTL_TIOCEXCL;
-  i386_linux_record_tdep.ioctl_TIOCNXCL = I386_LINUX_RECORD_IOCTL_TIOCNXCL;
-  i386_linux_record_tdep.ioctl_TIOCSCTTY = I386_LINUX_RECORD_IOCTL_TIOCSCTTY;
-  i386_linux_record_tdep.ioctl_TIOCGPGRP = I386_LINUX_RECORD_IOCTL_TIOCGPGRP;
-  i386_linux_record_tdep.ioctl_TIOCSPGRP = I386_LINUX_RECORD_IOCTL_TIOCSPGRP;
-  i386_linux_record_tdep.ioctl_TIOCOUTQ = I386_LINUX_RECORD_IOCTL_TIOCOUTQ;
-  i386_linux_record_tdep.ioctl_TIOCSTI = I386_LINUX_RECORD_IOCTL_TIOCSTI;
-  i386_linux_record_tdep.ioctl_TIOCGWINSZ =
-    I386_LINUX_RECORD_IOCTL_TIOCGWINSZ;
-  i386_linux_record_tdep.ioctl_TIOCSWINSZ =
-    I386_LINUX_RECORD_IOCTL_TIOCSWINSZ;
-  i386_linux_record_tdep.ioctl_TIOCMGET = I386_LINUX_RECORD_IOCTL_TIOCMGET;
-  i386_linux_record_tdep.ioctl_TIOCMBIS = I386_LINUX_RECORD_IOCTL_TIOCMBIS;
-  i386_linux_record_tdep.ioctl_TIOCMBIC = I386_LINUX_RECORD_IOCTL_TIOCMBIC;
-  i386_linux_record_tdep.ioctl_TIOCMSET = I386_LINUX_RECORD_IOCTL_TIOCMSET;
-  i386_linux_record_tdep.ioctl_TIOCGSOFTCAR =
-    I386_LINUX_RECORD_IOCTL_TIOCGSOFTCAR;
-  i386_linux_record_tdep.ioctl_TIOCSSOFTCAR =
-    I386_LINUX_RECORD_IOCTL_TIOCSSOFTCAR;
-  i386_linux_record_tdep.ioctl_FIONREAD = I386_LINUX_RECORD_IOCTL_FIONREAD;
-  i386_linux_record_tdep.ioctl_TIOCINQ = I386_LINUX_RECORD_IOCTL_TIOCINQ;
-  i386_linux_record_tdep.ioctl_TIOCLINUX = I386_LINUX_RECORD_IOCTL_TIOCLINUX;
-  i386_linux_record_tdep.ioctl_TIOCCONS = I386_LINUX_RECORD_IOCTL_TIOCCONS;
-  i386_linux_record_tdep.ioctl_TIOCGSERIAL =
-    I386_LINUX_RECORD_IOCTL_TIOCGSERIAL;
-  i386_linux_record_tdep.ioctl_TIOCSSERIAL =
-    I386_LINUX_RECORD_IOCTL_TIOCSSERIAL;
-  i386_linux_record_tdep.ioctl_TIOCPKT = I386_LINUX_RECORD_IOCTL_TIOCPKT;
-  i386_linux_record_tdep.ioctl_FIONBIO = I386_LINUX_RECORD_IOCTL_FIONBIO;
-  i386_linux_record_tdep.ioctl_TIOCNOTTY = I386_LINUX_RECORD_IOCTL_TIOCNOTTY;
-  i386_linux_record_tdep.ioctl_TIOCSETD = I386_LINUX_RECORD_IOCTL_TIOCSETD;
-  i386_linux_record_tdep.ioctl_TIOCGETD = I386_LINUX_RECORD_IOCTL_TIOCGETD;
-  i386_linux_record_tdep.ioctl_TCSBRKP = I386_LINUX_RECORD_IOCTL_TCSBRKP;
-  i386_linux_record_tdep.ioctl_TIOCTTYGSTRUCT =
-    I386_LINUX_RECORD_IOCTL_TIOCTTYGSTRUCT;
-  i386_linux_record_tdep.ioctl_TIOCSBRK = I386_LINUX_RECORD_IOCTL_TIOCSBRK;
-  i386_linux_record_tdep.ioctl_TIOCCBRK = I386_LINUX_RECORD_IOCTL_TIOCCBRK;
-  i386_linux_record_tdep.ioctl_TIOCGSID = I386_LINUX_RECORD_IOCTL_TIOCGSID;
-  i386_linux_record_tdep.ioctl_TCGETS2 = I386_LINUX_RECORD_IOCTL_TCGETS2;
-  i386_linux_record_tdep.ioctl_TCSETS2 = I386_LINUX_RECORD_IOCTL_TCSETS2;
-  i386_linux_record_tdep.ioctl_TCSETSW2 = I386_LINUX_RECORD_IOCTL_TCSETSW2;
-  i386_linux_record_tdep.ioctl_TCSETSF2 = I386_LINUX_RECORD_IOCTL_TCSETSF2;
-  i386_linux_record_tdep.ioctl_TIOCGPTN = I386_LINUX_RECORD_IOCTL_TIOCGPTN;
-  i386_linux_record_tdep.ioctl_TIOCSPTLCK =
-    I386_LINUX_RECORD_IOCTL_TIOCSPTLCK;
-  i386_linux_record_tdep.ioctl_FIONCLEX = I386_LINUX_RECORD_IOCTL_FIONCLEX;
-  i386_linux_record_tdep.ioctl_FIOCLEX = I386_LINUX_RECORD_IOCTL_FIOCLEX;
-  i386_linux_record_tdep.ioctl_FIOASYNC = I386_LINUX_RECORD_IOCTL_FIOASYNC;
-  i386_linux_record_tdep.ioctl_TIOCSERCONFIG =
-    I386_LINUX_RECORD_IOCTL_TIOCSERCONFIG;
-  i386_linux_record_tdep.ioctl_TIOCSERGWILD =
-    I386_LINUX_RECORD_IOCTL_TIOCSERGWILD;
-  i386_linux_record_tdep.ioctl_TIOCSERSWILD =
-    I386_LINUX_RECORD_IOCTL_TIOCSERSWILD;
-  i386_linux_record_tdep.ioctl_TIOCGLCKTRMIOS =
-    I386_LINUX_RECORD_IOCTL_TIOCGLCKTRMIOS;
-  i386_linux_record_tdep.ioctl_TIOCSLCKTRMIOS =
-    I386_LINUX_RECORD_IOCTL_TIOCSLCKTRMIOS;
-  i386_linux_record_tdep.ioctl_TIOCSERGSTRUCT =
-    I386_LINUX_RECORD_IOCTL_TIOCSERGSTRUCT;
-  i386_linux_record_tdep.ioctl_TIOCSERGETLSR =
-    I386_LINUX_RECORD_IOCTL_TIOCSERGETLSR;
-  i386_linux_record_tdep.ioctl_TIOCSERGETMULTI =
-    I386_LINUX_RECORD_IOCTL_TIOCSERGETMULTI;
-  i386_linux_record_tdep.ioctl_TIOCSERSETMULTI =
-    I386_LINUX_RECORD_IOCTL_TIOCSERSETMULTI;
-  i386_linux_record_tdep.ioctl_TIOCMIWAIT =
-    I386_LINUX_RECORD_IOCTL_TIOCMIWAIT;
-  i386_linux_record_tdep.ioctl_TIOCGICOUNT =
-    I386_LINUX_RECORD_IOCTL_TIOCGICOUNT;
-  i386_linux_record_tdep.ioctl_TIOCGHAYESESP =
-    I386_LINUX_RECORD_IOCTL_TIOCGHAYESESP;
-  i386_linux_record_tdep.ioctl_TIOCSHAYESESP =
-    I386_LINUX_RECORD_IOCTL_TIOCSHAYESESP;
-  i386_linux_record_tdep.ioctl_FIOQSIZE = I386_LINUX_RECORD_IOCTL_FIOQSIZE;
+  /* These values are the second argument of system call "sys_ioctl".
+     They are obtained from Linux Kernel source.  */
+  i386_linux_record_tdep.ioctl_TCGETS = 0x5401;
+  i386_linux_record_tdep.ioctl_TCSETS = 0x5402;
+  i386_linux_record_tdep.ioctl_TCSETSW = 0x5403;
+  i386_linux_record_tdep.ioctl_TCSETSF = 0x5404;
+  i386_linux_record_tdep.ioctl_TCGETA = 0x5405;
+  i386_linux_record_tdep.ioctl_TCSETA = 0x5406;
+  i386_linux_record_tdep.ioctl_TCSETAW = 0x5407;
+  i386_linux_record_tdep.ioctl_TCSETAF = 0x5408;
+  i386_linux_record_tdep.ioctl_TCSBRK = 0x5409;
+  i386_linux_record_tdep.ioctl_TCXONC = 0x540A;
+  i386_linux_record_tdep.ioctl_TCFLSH = 0x540B;
+  i386_linux_record_tdep.ioctl_TIOCEXCL = 0x540C;
+  i386_linux_record_tdep.ioctl_TIOCNXCL = 0x540D;
+  i386_linux_record_tdep.ioctl_TIOCSCTTY = 0x540E;
+  i386_linux_record_tdep.ioctl_TIOCGPGRP = 0x540F;
+  i386_linux_record_tdep.ioctl_TIOCSPGRP = 0x5410;
+  i386_linux_record_tdep.ioctl_TIOCOUTQ = 0x5411;
+  i386_linux_record_tdep.ioctl_TIOCSTI = 0x5412;
+  i386_linux_record_tdep.ioctl_TIOCGWINSZ = 0x5413;
+  i386_linux_record_tdep.ioctl_TIOCSWINSZ = 0x5414;
+  i386_linux_record_tdep.ioctl_TIOCMGET = 0x5415;
+  i386_linux_record_tdep.ioctl_TIOCMBIS = 0x5416;
+  i386_linux_record_tdep.ioctl_TIOCMBIC = 0x5417;
+  i386_linux_record_tdep.ioctl_TIOCMSET = 0x5418;
+  i386_linux_record_tdep.ioctl_TIOCGSOFTCAR = 0x5419;
+  i386_linux_record_tdep.ioctl_TIOCSSOFTCAR = 0x541A;
+  i386_linux_record_tdep.ioctl_FIONREAD = 0x541B;
+  i386_linux_record_tdep.ioctl_TIOCINQ = i386_linux_record_tdep.ioctl_FIONREAD;
+  i386_linux_record_tdep.ioctl_TIOCLINUX = 0x541C;
+  i386_linux_record_tdep.ioctl_TIOCCONS = 0x541D;
+  i386_linux_record_tdep.ioctl_TIOCGSERIAL = 0x541E;
+  i386_linux_record_tdep.ioctl_TIOCSSERIAL = 0x541F;
+  i386_linux_record_tdep.ioctl_TIOCPKT = 0x5420;
+  i386_linux_record_tdep.ioctl_FIONBIO = 0x5421;
+  i386_linux_record_tdep.ioctl_TIOCNOTTY = 0x5422;
+  i386_linux_record_tdep.ioctl_TIOCSETD = 0x5423;
+  i386_linux_record_tdep.ioctl_TIOCGETD = 0x5424;
+  i386_linux_record_tdep.ioctl_TCSBRKP = 0x5425;
+  i386_linux_record_tdep.ioctl_TIOCTTYGSTRUCT = 0x5426;
+  i386_linux_record_tdep.ioctl_TIOCSBRK = 0x5427;
+  i386_linux_record_tdep.ioctl_TIOCCBRK = 0x5428;
+  i386_linux_record_tdep.ioctl_TIOCGSID = 0x5429;
+  i386_linux_record_tdep.ioctl_TCGETS2 = 0x802c542a;
+  i386_linux_record_tdep.ioctl_TCSETS2 = 0x402c542b;
+  i386_linux_record_tdep.ioctl_TCSETSW2 = 0x402c542c;
+  i386_linux_record_tdep.ioctl_TCSETSF2 = 0x402c542d;
+  i386_linux_record_tdep.ioctl_TIOCGPTN = 0x80045430;
+  i386_linux_record_tdep.ioctl_TIOCSPTLCK = 0x40045431;
+  i386_linux_record_tdep.ioctl_FIONCLEX = 0x5450;
+  i386_linux_record_tdep.ioctl_FIOCLEX = 0x5451;
+  i386_linux_record_tdep.ioctl_FIOASYNC = 0x5452;
+  i386_linux_record_tdep.ioctl_TIOCSERCONFIG = 0x5453;
+  i386_linux_record_tdep.ioctl_TIOCSERGWILD = 0x5454;
+  i386_linux_record_tdep.ioctl_TIOCSERSWILD = 0x5455;
+  i386_linux_record_tdep.ioctl_TIOCGLCKTRMIOS = 0x5456;
+  i386_linux_record_tdep.ioctl_TIOCSLCKTRMIOS = 0x5457;
+  i386_linux_record_tdep.ioctl_TIOCSERGSTRUCT = 0x5458;
+  i386_linux_record_tdep.ioctl_TIOCSERGETLSR = 0x5459;
+  i386_linux_record_tdep.ioctl_TIOCSERGETMULTI = 0x545A;
+  i386_linux_record_tdep.ioctl_TIOCSERSETMULTI = 0x545B;
+  i386_linux_record_tdep.ioctl_TIOCMIWAIT = 0x545C;
+  i386_linux_record_tdep.ioctl_TIOCGICOUNT = 0x545D;
+  i386_linux_record_tdep.ioctl_TIOCGHAYESESP = 0x545E;
+  i386_linux_record_tdep.ioctl_TIOCSHAYESESP = 0x545F;
+  i386_linux_record_tdep.ioctl_FIOQSIZE = 0x5460;
 
-  i386_linux_record_tdep.fcntl_F_GETLK = I386_LINUX_RECORD_FCNTL_F_GETLK;
-  i386_linux_record_tdep.fcntl_F_GETLK64 = I386_LINUX_RECORD_FCNTL_F_GETLK64;
-  i386_linux_record_tdep.fcntl_F_SETLK64 = I386_LINUX_RECORD_FCNTL_F_SETLK64;
-  i386_linux_record_tdep.fcntl_F_SETLKW64 =
-    I386_LINUX_RECORD_FCNTL_F_SETLKW64;
+  /* These values are the second argument of system call "sys_fcntl"
+     and "sys_fcntl64".  They are obtained from Linux Kernel source.  */
+  i386_linux_record_tdep.fcntl_F_GETLK = 5;
+  i386_linux_record_tdep.fcntl_F_GETLK64 = 12;
+  i386_linux_record_tdep.fcntl_F_SETLK64 = 13;
+  i386_linux_record_tdep.fcntl_F_SETLKW64 = 14;
 
   i386_linux_record_tdep.arg1 = I386_EBX_REGNUM;
   i386_linux_record_tdep.arg2 = I386_ECX_REGNUM;
--- a/linux-record.c
+++ b/linux-record.c
@@ -345,7 +345,8 @@ record_linux_system_call (int num, struc
 	{
 	  regcache_raw_read (regcache, tdep->arg3,
 			     (gdb_byte *) & tmpu32);
-	  if (record_arch_list_add_mem (tmpu32, tdep->size_char))
+          /* This syscall affect a char size memory.  */
+	  if (record_arch_list_add_mem (tmpu32, 1))
 	    return -1;
 	}
       else if (tmpu32 == tdep->ioctl_TIOCGSERIAL)
--- a/linux-record.h
+++ b/linux-record.h
@@ -86,7 +86,6 @@ struct linux_record_tdep
   int size_termios2;
   int size_pid_t;
   int size_winsize;
-  int size_char;
   int size_serial_struct;
   int size_serial_icounter_struct;
   int size_hayes_esp_config;

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Prec/RFA] Remove macros for record size in i386-linux-tdep.c
  2009-05-23 11:59   ` Hui Zhu
@ 2009-05-23 12:13     ` Hui Zhu
  2009-05-23 13:47       ` Pedro Alves
  0 siblings, 1 reply; 8+ messages in thread
From: Hui Zhu @ 2009-05-23 12:13 UTC (permalink / raw)
  To: Pedro Alves; +Cc: gdb-patches

On Sat, May 23, 2009 at 19:59, Hui Zhu <teawater@gmail.com> wrote:
> On Sat, May 23, 2009 at 19:12, Pedro Alves <pedro@codesourcery.com> wrote:
>> On Saturday 23 May 2009 05:00:22, Hui Zhu wrote:
>>> 2009-05-23  Hui Zhu  <teawater@gmail.com>
>>>
>>>         * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
>>>         I386_LINUX_RECORD_IOCTL_*,
>>>         I386_LINUX_RECORD_FCNTL_*) Removed.
>>>         (i386_linux_init_abi): Change size of record from macros to
>>>         numbers.
>>
>> Okay.
>>
>>>         * i386-linux-tdep.c (i386_linux_init_abi): Change
>>>         i386_linux_record_tdep.size_char from 8 to 1.
>>
>> You didn't mention this, so I take it it was going to be a separate patch.
>> Why do you need size_char at all?  size of char is always 1 by definition.
>> Does the kernel define this as variable somewhere also?
>
> OK.  I make a new patch remove it.
> Please help me review it.
>
> Thanks,
> Hui
>
> 2009-05-23  Hui Zhu  <teawater@gmail.com>
>
>        * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
>        I386_LINUX_RECORD_IOCTL_*,
>        I386_LINUX_RECORD_FCNTL_*) Removed.
>        (i386_linux_init_abi): Change size of record from macros to
>        numbers.
>
>        * i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
>        * linux-record.c (record_linux_system_call): Ditto.
>        * linux-record.h (linux_record_tdep): Ditto.
>

About char part.  I am not very sure about it.  This is from gdb:
/* Number of bits in a char or unsigned char for the target machine.
   Just like CHAR_BIT in <limits.h> but describes the target machine.  */
#if !defined (TARGET_CHAR_BIT)
#define TARGET_CHAR_BIT 8
#endif

So, maybe we can keep it.
Of course, it's not from Kernel.  :)

Thanks,
Hui


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Prec/RFA] Remove macros for record size in i386-linux-tdep.c
  2009-05-23 12:13     ` Hui Zhu
@ 2009-05-23 13:47       ` Pedro Alves
  2009-05-23 17:13         ` Hui Zhu
  0 siblings, 1 reply; 8+ messages in thread
From: Pedro Alves @ 2009-05-23 13:47 UTC (permalink / raw)
  To: gdb-patches; +Cc: Hui Zhu

A Saturday 23 May 2009 13:12:54, Hui Zhu escreveu:
> On Sat, May 23, 2009 at 19:59, Hui Zhu <teawater@gmail.com> wrote:
> > On Sat, May 23, 2009 at 19:12, Pedro Alves <pedro@codesourcery.com> wrote:
> >> On Saturday 23 May 2009 05:00:22, Hui Zhu wrote:
> >>> 2009-05-23  Hui Zhu  <teawater@gmail.com>
> >>>
> >>>         * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
> >>>         I386_LINUX_RECORD_IOCTL_*,
> >>>         I386_LINUX_RECORD_FCNTL_*) Removed.
> >>>         (i386_linux_init_abi): Change size of record from macros to
> >>>         numbers.
> >>
> >> Okay.
> >>
> >>>         * i386-linux-tdep.c (i386_linux_init_abi): Change
> >>>         i386_linux_record_tdep.size_char from 8 to 1.
> >>
> >> You didn't mention this, so I take it it was going to be a separate patch.
> >> Why do you need size_char at all?  size of char is always 1 by definition.
> >> Does the kernel define this as variable somewhere also?
> >
> > OK.  I make a new patch remove it.
> > Please help me review it.
> >
> > Thanks,
> > Hui
> >
> > 2009-05-23  Hui Zhu  <teawater@gmail.com>
> >
> >        * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
> >        I386_LINUX_RECORD_IOCTL_*,
> >        I386_LINUX_RECORD_FCNTL_*) Removed.
> >        (i386_linux_init_abi): Change size of record from macros to
> >        numbers.
> >
> >        * i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
> >        * linux-record.c (record_linux_system_call): Ditto.
> >        * linux-record.h (linux_record_tdep): Ditto.

This is OK, although the changelog wants to record different unrelated
changes: either commit this in two parts, or merge the (i386_linux_init_abi)
entries.

> About char part.  I am not very sure about it.  This is from gdb:
> /* Number of bits in a char or unsigned char for the target machine.
>    Just like CHAR_BIT in <limits.h> but describes the target machine.  */
> #if !defined (TARGET_CHAR_BIT)
> #define TARGET_CHAR_BIT 8
> #endif
> 
> So, maybe we can keep it.

No, this is bits in char, while size_char wants bytes per char,
which is always 1.  Even if we were to make GDB behave
for TARGET_CHAR_BIT != 8, linux-record would not be the place to
store that info.

-- 
Pedro Alves


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Prec/RFA] Remove macros for record size in i386-linux-tdep.c
  2009-05-23 13:47       ` Pedro Alves
@ 2009-05-23 17:13         ` Hui Zhu
  2009-05-23 17:27           ` Pedro Alves
  0 siblings, 1 reply; 8+ messages in thread
From: Hui Zhu @ 2009-05-23 17:13 UTC (permalink / raw)
  To: Pedro Alves; +Cc: gdb-patches

On Sat, May 23, 2009 at 21:47, Pedro Alves <pedro@codesourcery.com> wrote:
> A Saturday 23 May 2009 13:12:54, Hui Zhu escreveu:
>> On Sat, May 23, 2009 at 19:59, Hui Zhu <teawater@gmail.com> wrote:
>> > On Sat, May 23, 2009 at 19:12, Pedro Alves <pedro@codesourcery.com> wrote:
>> >> On Saturday 23 May 2009 05:00:22, Hui Zhu wrote:
>> >>> 2009-05-23  Hui Zhu  <teawater@gmail.com>
>> >>>
>> >>>         * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
>> >>>         I386_LINUX_RECORD_IOCTL_*,
>> >>>         I386_LINUX_RECORD_FCNTL_*) Removed.
>> >>>         (i386_linux_init_abi): Change size of record from macros to
>> >>>         numbers.
>> >>
>> >> Okay.
>> >>
>> >>>         * i386-linux-tdep.c (i386_linux_init_abi): Change
>> >>>         i386_linux_record_tdep.size_char from 8 to 1.
>> >>
>> >> You didn't mention this, so I take it it was going to be a separate patch.
>> >> Why do you need size_char at all?  size of char is always 1 by definition.
>> >> Does the kernel define this as variable somewhere also?
>> >
>> > OK.  I make a new patch remove it.
>> > Please help me review it.
>> >
>> > Thanks,
>> > Hui
>> >
>> > 2009-05-23  Hui Zhu  <teawater@gmail.com>
>> >
>> >        * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
>> >        I386_LINUX_RECORD_IOCTL_*,
>> >        I386_LINUX_RECORD_FCNTL_*) Removed.
>> >        (i386_linux_init_abi): Change size of record from macros to
>> >        numbers.
>> >
>> >        * i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
>> >        * linux-record.c (record_linux_system_call): Ditto.
>> >        * linux-record.h (linux_record_tdep): Ditto.
>
> This is OK, although the changelog wants to record different unrelated
> changes: either commit this in two parts, or merge the (i386_linux_init_abi)
> entries.
>
>> About char part.  I am not very sure about it.  This is from gdb:
>> /* Number of bits in a char or unsigned char for the target machine.
>>    Just like CHAR_BIT in <limits.h> but describes the target machine.  */
>> #if !defined (TARGET_CHAR_BIT)
>> #define TARGET_CHAR_BIT 8
>> #endif
>>
>> So, maybe we can keep it.
>
> No, this is bits in char, while size_char wants bytes per char,
> which is always 1.  Even if we were to make GDB behave
> for TARGET_CHAR_BIT != 8, linux-record would not be the place to
> store that info.
>

OK.  I got it.  Thanks.
What about the last patch? It remove char_size.

Hui


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Prec/RFA] Remove macros for record size in i386-linux-tdep.c
  2009-05-23 17:13         ` Hui Zhu
@ 2009-05-23 17:27           ` Pedro Alves
  2009-05-24  4:48             ` Hui Zhu
  0 siblings, 1 reply; 8+ messages in thread
From: Pedro Alves @ 2009-05-23 17:27 UTC (permalink / raw)
  To: Hui Zhu; +Cc: gdb-patches

On Saturday 23 May 2009 18:13:34, Hui Zhu wrote:

> >> > OK.  I make a new patch remove it.
> >> > Please help me review it.
> >> >
> >> > Thanks,
> >> > Hui
> >> >
> >> > 2009-05-23  Hui Zhu  <teawater@gmail.com>
> >> >
> >> >        * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
> >> >        I386_LINUX_RECORD_IOCTL_*,
> >> >        I386_LINUX_RECORD_FCNTL_*) Removed.
> >> >        (i386_linux_init_abi): Change size of record from macros to
> >> >        numbers.
> >> >
> >> >        * i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
> >> >        * linux-record.c (record_linux_system_call): Ditto.
> >> >        * linux-record.h (linux_record_tdep): Ditto.
> >
> > This is OK, although the changelog wants to record different unrelated
> > changes: either commit this in two parts, or merge the (i386_linux_init_abi)
> > entries.
> >

> What about the last patch? It remove char_size.

Already OKed above.

-- 
Pedro Alves


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Prec/RFA] Remove macros for record size in i386-linux-tdep.c
  2009-05-23 17:27           ` Pedro Alves
@ 2009-05-24  4:48             ` Hui Zhu
  0 siblings, 0 replies; 8+ messages in thread
From: Hui Zhu @ 2009-05-24  4:48 UTC (permalink / raw)
  To: Pedro Alves; +Cc: gdb-patches

On Sun, May 24, 2009 at 01:27, Pedro Alves <pedro@codesourcery.com> wrote:
> On Saturday 23 May 2009 18:13:34, Hui Zhu wrote:
>
>> >> > OK.  I make a new patch remove it.
>> >> > Please help me review it.
>> >> >
>> >> > Thanks,
>> >> > Hui
>> >> >
>> >> > 2009-05-23  Hui Zhu  <teawater@gmail.com>
>> >> >
>> >> >        * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
>> >> >        I386_LINUX_RECORD_IOCTL_*,
>> >> >        I386_LINUX_RECORD_FCNTL_*) Removed.
>> >> >        (i386_linux_init_abi): Change size of record from macros to
>> >> >        numbers.
>> >> >
>> >> >        * i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
>> >> >        * linux-record.c (record_linux_system_call): Ditto.
>> >> >        * linux-record.h (linux_record_tdep): Ditto.
>> >
>> > This is OK, although the changelog wants to record different unrelated
>> > changes: either commit this in two parts, or merge the (i386_linux_init_abi)
>> > entries.
>> >
>
>> What about the last patch? It remove char_size.
>
> Already OKed above.

Thanks.  Checked in and I divided changelog to 2 parts:
2009-05-24  Hui Zhu  <teawater@gmail.com>

	* i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
	I386_LINUX_RECORD_IOCTL_*,
	I386_LINUX_RECORD_FCNTL_*) Removed.
	(i386_linux_init_abi): Change size of record from macros to
	numbers.

2009-05-24  Hui Zhu  <teawater@gmail.com>

	* i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
	* linux-record.c (record_linux_system_call): Ditto.
	* linux-record.h (linux_record_tdep): Ditto.


Hui


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-05-24  4:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-23  4:00 [Prec/RFA] Remove macros for record size in i386-linux-tdep.c Hui Zhu
2009-05-23 11:12 ` Pedro Alves
2009-05-23 11:59   ` Hui Zhu
2009-05-23 12:13     ` Hui Zhu
2009-05-23 13:47       ` Pedro Alves
2009-05-23 17:13         ` Hui Zhu
2009-05-23 17:27           ` Pedro Alves
2009-05-24  4:48             ` Hui Zhu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox