From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 57470 invoked by alias); 17 Oct 2015 21:41:35 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 57287 invoked by uid 89); 17 Oct 2015 21:41:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: xyzzy.0x04.net Received: from xyzzy.0x04.net (HELO xyzzy.0x04.net) (109.74.193.254) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 17 Oct 2015 21:41:30 +0000 Received: from hogfather.0x04.net (89-65-84-110.dynamic.chello.pl [89.65.84.110]) by xyzzy.0x04.net (Postfix) with ESMTPS id 451383FF2D for ; Sat, 17 Oct 2015 23:41:40 +0200 (CEST) Received: by hogfather.0x04.net (Postfix, from userid 1000) id AA9E15800FA; Sat, 17 Oct 2015 23:41:26 +0200 (CEST) From: =?UTF-8?q?Marcin=20Ko=C5=9Bcielnicki?= To: gdb-patches@sourceware.org Cc: =?UTF-8?q?Marcin=20Ko=C5=9Bcielnicki?= Subject: [PATCH 03/11] gdb/linux-record: Fix sizes of sigaction and sigset_t Date: Sat, 17 Oct 2015 21:41:00 -0000 Message-Id: <1445118081-10908-4-git-send-email-koriakin@0x04.net> In-Reply-To: <1445118081-10908-1-git-send-email-koriakin@0x04.net> References: <1445118081-10908-1-git-send-email-koriakin@0x04.net> X-SW-Source: 2015-10/txt/msg00314.txt.bz2 The values were mistakenly set to size of glibc's sigset_t (128 bytes) and sigaction (140 or 152 bytes) instead of the kernel ones. The kernel has 4 or 8 byte old_sigset_t, 8 byte sigset_t, 16 or 32 byte old_sigaction, 20 or 32 byte sigaction. --- gdb/aarch64-linux-tdep.c | 8 ++++---- gdb/amd64-linux-tdep.c | 16 ++++++++-------- gdb/arm-linux-tdep.c | 6 +++--- gdb/i386-linux-tdep.c | 6 +++--- gdb/ppc-linux-tdep.c | 16 ++++++++-------- 5 files changed, 26 insertions(+), 26 deletions(-) diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c index 4169200..57cb973 100644 --- a/gdb/aarch64-linux-tdep.c +++ b/gdb/aarch64-linux-tdep.c @@ -1000,8 +1000,8 @@ aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) aarch64_linux_record_tdep.size_flock = 32; aarch64_linux_record_tdep.size_oldold_utsname = 45; aarch64_linux_record_tdep.size_ustat = 32; - aarch64_linux_record_tdep.size_old_sigaction = 152; - aarch64_linux_record_tdep.size_old_sigset_t = 128; + aarch64_linux_record_tdep.size_old_sigaction = 32; + aarch64_linux_record_tdep.size_old_sigset_t = 8; aarch64_linux_record_tdep.size_rlimit = 16; aarch64_linux_record_tdep.size_rusage = 144; aarch64_linux_record_tdep.size_timeval = 16; @@ -1037,8 +1037,8 @@ aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) aarch64_linux_record_tdep.size_NFS_FHSIZE = 32; aarch64_linux_record_tdep.size_knfsd_fh = 132; aarch64_linux_record_tdep.size_TASK_COMM_LEN = 16; - aarch64_linux_record_tdep.size_sigaction = 152; - aarch64_linux_record_tdep.size_sigset_t = 128; + aarch64_linux_record_tdep.size_sigaction = 32; + aarch64_linux_record_tdep.size_sigset_t = 8; aarch64_linux_record_tdep.size_siginfo_t = 128; aarch64_linux_record_tdep.size_cap_user_data_t = 8; aarch64_linux_record_tdep.size_stack_t = 24; diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c index 59c318d..3bca3c8 100644 --- a/gdb/amd64-linux-tdep.c +++ b/gdb/amd64-linux-tdep.c @@ -1890,10 +1890,10 @@ amd64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) amd64_linux_record_tdep.size_ustat = 32; /* ADM64 doesn't need this size because it doesn't have sys_sigaction but sys_rt_sigaction. */ - amd64_linux_record_tdep.size_old_sigaction = 152; + amd64_linux_record_tdep.size_old_sigaction = 32; /* ADM64 doesn't need this size because it doesn't have sys_sigpending but sys_rt_sigpending. */ - amd64_linux_record_tdep.size_old_sigset_t = 128; + amd64_linux_record_tdep.size_old_sigset_t = 8; amd64_linux_record_tdep.size_rlimit = 16; amd64_linux_record_tdep.size_rusage = 144; amd64_linux_record_tdep.size_timeval = 16; @@ -1933,8 +1933,8 @@ amd64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) amd64_linux_record_tdep.size_NFS_FHSIZE = 32; amd64_linux_record_tdep.size_knfsd_fh = 132; amd64_linux_record_tdep.size_TASK_COMM_LEN = 16; - amd64_linux_record_tdep.size_sigaction = 152; - amd64_linux_record_tdep.size_sigset_t = 128; + amd64_linux_record_tdep.size_sigaction = 32; + amd64_linux_record_tdep.size_sigset_t = 8; amd64_linux_record_tdep.size_siginfo_t = 128; amd64_linux_record_tdep.size_cap_user_data_t = 8; amd64_linux_record_tdep.size_stack_t = 24; @@ -2106,10 +2106,10 @@ amd64_x32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) amd64_x32_linux_record_tdep.size_ustat = 32; /* ADM64 doesn't need this size because it doesn't have sys_sigaction but sys_rt_sigaction. */ - amd64_x32_linux_record_tdep.size_old_sigaction = 152; + amd64_x32_linux_record_tdep.size_old_sigaction = 16; /* ADM64 doesn't need this size because it doesn't have sys_sigpending but sys_rt_sigpending. */ - amd64_x32_linux_record_tdep.size_old_sigset_t = 128; + amd64_x32_linux_record_tdep.size_old_sigset_t = 4; amd64_x32_linux_record_tdep.size_rlimit = 16; amd64_x32_linux_record_tdep.size_rusage = 144; amd64_x32_linux_record_tdep.size_timeval = 16; @@ -2149,8 +2149,8 @@ amd64_x32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) amd64_x32_linux_record_tdep.size_NFS_FHSIZE = 32; amd64_x32_linux_record_tdep.size_knfsd_fh = 132; amd64_x32_linux_record_tdep.size_TASK_COMM_LEN = 16; - amd64_x32_linux_record_tdep.size_sigaction = 152; - amd64_x32_linux_record_tdep.size_sigset_t = 128; + amd64_x32_linux_record_tdep.size_sigaction = 20; + 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; diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c index 940f01f..88d818d 100644 --- a/gdb/arm-linux-tdep.c +++ b/gdb/arm-linux-tdep.c @@ -1487,8 +1487,8 @@ arm_linux_init_abi (struct gdbarch_info info, arm_linux_record_tdep.size_flock = 16; arm_linux_record_tdep.size_oldold_utsname = 45; arm_linux_record_tdep.size_ustat = 20; - arm_linux_record_tdep.size_old_sigaction = 140; - arm_linux_record_tdep.size_old_sigset_t = 128; + arm_linux_record_tdep.size_old_sigaction = 16; + arm_linux_record_tdep.size_old_sigset_t = 4; arm_linux_record_tdep.size_rlimit = 8; arm_linux_record_tdep.size_rusage = 72; arm_linux_record_tdep.size_timeval = 8; @@ -1524,7 +1524,7 @@ arm_linux_init_abi (struct gdbarch_info info, arm_linux_record_tdep.size_NFS_FHSIZE = 32; arm_linux_record_tdep.size_knfsd_fh = 132; arm_linux_record_tdep.size_TASK_COMM_LEN = 16; - arm_linux_record_tdep.size_sigaction = 140; + arm_linux_record_tdep.size_sigaction = 20; arm_linux_record_tdep.size_sigset_t = 8; arm_linux_record_tdep.size_siginfo_t = 128; arm_linux_record_tdep.size_cap_user_data_t = 12; diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c index af9c28a..0bf2cdc 100644 --- a/gdb/i386-linux-tdep.c +++ b/gdb/i386-linux-tdep.c @@ -806,8 +806,8 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) 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_old_sigaction = 16; + i386_linux_record_tdep.size_old_sigset_t = 4; i386_linux_record_tdep.size_rlimit = 8; i386_linux_record_tdep.size_rusage = 72; i386_linux_record_tdep.size_timeval = 8; @@ -843,7 +843,7 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) 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_sigaction = 20; 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; diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index 79d115e..896f410 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -1423,8 +1423,8 @@ ppc_init_linux_record_tdep (struct linux_record_tdep *record_tdep, record_tdep->size_flock = 32; record_tdep->size_oldold_utsname = 45; record_tdep->size_ustat = 32; - record_tdep->size_old_sigaction = 152; - record_tdep->size_old_sigset_t = 128; + record_tdep->size_old_sigaction = 32; + record_tdep->size_old_sigset_t = 8; record_tdep->size_rlimit = 16; record_tdep->size_rusage = 144; record_tdep->size_timeval = 16; @@ -1457,8 +1457,8 @@ ppc_init_linux_record_tdep (struct linux_record_tdep *record_tdep, record_tdep->size_NFS_FHSIZE = 32; record_tdep->size_knfsd_fh = 132; record_tdep->size_TASK_COMM_LEN = 32; - record_tdep->size_sigaction = 152; - record_tdep->size_sigset_t = 128; + record_tdep->size_sigaction = 32; + record_tdep->size_sigset_t = 8; record_tdep->size_siginfo_t = 128; record_tdep->size_cap_user_data_t = 8; record_tdep->size_stack_t = 24; @@ -1490,8 +1490,8 @@ ppc_init_linux_record_tdep (struct linux_record_tdep *record_tdep, record_tdep->size_flock = 16; record_tdep->size_oldold_utsname = 45; record_tdep->size_ustat = 20; - record_tdep->size_old_sigaction = 152; - record_tdep->size_old_sigset_t = 128; + record_tdep->size_old_sigaction = 16; + record_tdep->size_old_sigset_t = 4; record_tdep->size_rlimit = 8; record_tdep->size_rusage = 72; record_tdep->size_timeval = 8; @@ -1524,8 +1524,8 @@ ppc_init_linux_record_tdep (struct linux_record_tdep *record_tdep, record_tdep->size_NFS_FHSIZE = 32; record_tdep->size_knfsd_fh = 132; record_tdep->size_TASK_COMM_LEN = 32; - record_tdep->size_sigaction = 140; - record_tdep->size_sigset_t = 128; + record_tdep->size_sigaction = 20; + record_tdep->size_sigset_t = 8; record_tdep->size_siginfo_t = 128; record_tdep->size_cap_user_data_t = 4; record_tdep->size_stack_t = 12; -- 2.6.1