This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] gdb/linux-record: Fix struct sizes for x32


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=10268a4c0d64b3892397aeaafbc4b91f6a1e0dc8

commit 10268a4c0d64b3892397aeaafbc4b91f6a1e0dc8
Author: Marcin KoÅ?cielnicki <koriakin@0x04.net>
Date:   Fri Oct 30 15:52:02 2015 +0000

    gdb/linux-record: Fix struct sizes for x32
    
    While x32 syscall interface is mostly shared with x86_64, some syscalls
    are truly 32-bit.  Correct sizes accordingly.
    
    gdb/ChangeLog:
    
    	* amd64-linux-tdep.c (amd64_x32_linux_init_abi): Fix size_msghdr,
    	size_stack_t, size_size_t, size_iovec.

Diff:
---
 gdb/ChangeLog          | 5 +++++
 gdb/amd64-linux-tdep.c | 8 ++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1149f49..acefa8e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 2015-10-30  Marcin KoÅ?cielnicki  <koriakin@0x04.net>
 
+	* amd64-linux-tdep.c (amd64_x32_linux_init_abi): Fix size_msghdr,
+	size_stack_t, size_size_t, size_iovec.
+
+2015-10-30  Marcin KoÅ?cielnicki  <koriakin@0x04.net>
+
 	* aarch64-linux-tdep.c (aarch64_linux_init_abi): Fix size_termios.
 	* amd64-linux-tdep.c (amd64_linux_init_abi): Fix size_termios.
 	(amd64_x32_linux_init_abi): Fix size_termios.
diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
index b0950f2..ee21635 100644
--- a/gdb/amd64-linux-tdep.c
+++ b/gdb/amd64-linux-tdep.c
@@ -2133,7 +2133,7 @@ amd64_x32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
     = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;
   amd64_x32_linux_record_tdep.size_ulong
     = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;
-  amd64_x32_linux_record_tdep.size_msghdr = 56;
+  amd64_x32_linux_record_tdep.size_msghdr = 28;
   amd64_x32_linux_record_tdep.size_itimerval = 32;
   amd64_x32_linux_record_tdep.size_stat = 144;
   amd64_x32_linux_record_tdep.size_old_utsname = 325;
@@ -2154,7 +2154,7 @@ amd64_x32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   amd64_x32_linux_record_tdep.size_sigset_t = 8;
   amd64_x32_linux_record_tdep.size_siginfo_t = 128;
   amd64_x32_linux_record_tdep.size_cap_user_data_t = 8;
-  amd64_x32_linux_record_tdep.size_stack_t = 24;
+  amd64_x32_linux_record_tdep.size_stack_t = 12;
   amd64_x32_linux_record_tdep.size_off_t = 8;
   amd64_x32_linux_record_tdep.size_stat64 = 144;
   amd64_x32_linux_record_tdep.size_gid_t = 4;
@@ -2174,8 +2174,8 @@ amd64_x32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   amd64_x32_linux_record_tdep.size_serial_struct = 72;
   amd64_x32_linux_record_tdep.size_serial_icounter_struct = 80;
   amd64_x32_linux_record_tdep.size_hayes_esp_config = 12;
-  amd64_x32_linux_record_tdep.size_size_t = 8;
-  amd64_x32_linux_record_tdep.size_iovec = 16;
+  amd64_x32_linux_record_tdep.size_size_t = 4;
+  amd64_x32_linux_record_tdep.size_iovec = 8;
   amd64_x32_linux_record_tdep.size_time_t = 8;
 
   /* These values are the second argument of system call "sys_fcntl"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]