From: Marcin Kościelnicki Date: Fri, 30 Oct 2015 15:52:02 +0000 (+0000) Subject: gdb/linux-record: Fix struct sizes for x32 X-Git-Tag: users/ARM/embedded-binutils-2_26-branch-2016q1~211 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=10268a4c0d64b3892397aeaafbc4b91f6a1e0dc8;p=external%2Fbinutils.git 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 --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 + * 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 + * 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"