From 850d9d17a0e28d1ba069c5f6cd852c939c6f20f3 Mon Sep 17 00:00:00 2001 From: James Meyer <james.meyer@operamail.com> Date: Mon, 6 Aug 2012 21:22:05 -0500 Subject: gdb: 7.4.1 --- abs/core/gdb/PKGBUILD | 24 +-- abs/core/gdb/__changelog | 1 + abs/core/gdb/gdb.install | 2 +- abs/core/gdb/siginfo_t.patch | 403 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 417 insertions(+), 13 deletions(-) create mode 100644 abs/core/gdb/__changelog create mode 100644 abs/core/gdb/siginfo_t.patch diff --git a/abs/core/gdb/PKGBUILD b/abs/core/gdb/PKGBUILD index d96cb93..3c5769c 100644 --- a/abs/core/gdb/PKGBUILD +++ b/abs/core/gdb/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 90312 2010-09-10 14:58:18Z allan $ +# $Id: PKGBUILD 157331 2012-04-27 05:07:31Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> -# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> pkgname=gdb -pkgver=7.2 -pkgrel=2 +pkgver=7.4.1 +pkgrel=1 pkgdesc="The GNU Debugger" arch=('i686' 'x86_64') url="http://www.gnu.org/software/gdb/" @@ -14,24 +14,21 @@ makedepends=('texinfo') backup=('etc/gdb/gdbinit') options=('!libtool') install=gdb.install -source=(http://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.bz2) -md5sums=('64260e6c56979ee750a01055f16091a5') +source=(http://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.bz2{,.sig} siginfo_t.patch) build() { cd ${srcdir}/${pkgname}-${pkgver} - + patch -Np1 <$srcdir/siginfo_t.patch || exit 1 ./configure --prefix=/usr --disable-nls \ --with-system-readline \ + --with-python=/usr/bin/python2 \ --with-system-gdbinit=/etc/gdb/gdbinit - make || return 1 - - # requires dejagnu - #make check + make } package() { cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install || return 1 + make DESTDIR=${pkgdir} install # install "custom" system gdbinit install -dm755 $pkgdir/etc/gdb @@ -42,3 +39,6 @@ package() { rm ${pkgdir}/usr/lib/{libbfd,libiberty,libopcodes}.a rm ${pkgdir}/usr/share/info/{bfd,configure,standards}.info } +md5sums=('8854d34691087ec127d934692639855f' + 'a3d48626efc9e7d802f0734ca39a7878' + 'd3d6566382696c7d5a1b6aea5df0bbc2') diff --git a/abs/core/gdb/__changelog b/abs/core/gdb/__changelog new file mode 100644 index 0000000..7b0630f --- /dev/null +++ b/abs/core/gdb/__changelog @@ -0,0 +1 @@ +added siginfo_t.patch diff --git a/abs/core/gdb/gdb.install b/abs/core/gdb/gdb.install index 4430217..986ec54 100644 --- a/abs/core/gdb/gdb.install +++ b/abs/core/gdb/gdb.install @@ -1,4 +1,4 @@ -infodir=/usr/share/info +infodir=usr/share/info filelist=(annotate.info gdb.info gdb.info-1 gdb.info-2 gdb.info-3 gdb.info-4 gdbint.info gdbint.info-1 gdbint.info-2 stabs.info) post_install() { diff --git a/abs/core/gdb/siginfo_t.patch b/abs/core/gdb/siginfo_t.patch new file mode 100644 index 0000000..465645d --- /dev/null +++ b/abs/core/gdb/siginfo_t.patch @@ -0,0 +1,403 @@ +POSIX says you get "siginto_t" *not* "struct siginfo + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: gdb-7.4.1/gdb/alpha-linux-tdep.c +=================================================================== +--- gdb-7.4.1.orig/gdb/alpha-linux-tdep.c 2012-01-05 20:43:04.000000000 -0800 ++++ gdb-7.4.1/gdb/alpha-linux-tdep.c 2012-07-03 10:12:30.154227388 -0700 +@@ -114,7 +114,7 @@ + /* __NR_rt_sigreturn has a couple of structures on the stack. This is: + + struct rt_sigframe { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + }; + +Index: gdb-7.4.1/gdb/amd64-linux-nat.c +=================================================================== +--- gdb-7.4.1.orig/gdb/amd64-linux-nat.c 2012-01-05 20:43:04.000000000 -0800 ++++ gdb-7.4.1/gdb/amd64-linux-nat.c 2012-07-03 10:12:30.154227388 -0700 +@@ -671,13 +671,13 @@ + INF. */ + + static int +-amd64_linux_siginfo_fixup (struct siginfo *native, gdb_byte *inf, int direction) ++amd64_linux_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction) + { + /* Is the inferior 32-bit? If so, then do fixup the siginfo + object. */ + if (gdbarch_addr_bit (get_frame_arch (get_current_frame ())) == 32) + { +- gdb_assert (sizeof (struct siginfo) == sizeof (compat_siginfo_t)); ++ gdb_assert (sizeof (siginfo_t) == sizeof (compat_siginfo_t)); + + if (direction == 0) + compat_siginfo_from_siginfo ((struct compat_siginfo *) inf, native); +Index: gdb-7.4.1/gdb/arm-linux-nat.c +=================================================================== +--- gdb-7.4.1.orig/gdb/arm-linux-nat.c 2012-01-05 20:43:04.000000000 -0800 ++++ gdb-7.4.1/gdb/arm-linux-nat.c 2012-07-03 10:12:30.154227388 -0700 +@@ -1137,7 +1137,7 @@ + static int + arm_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p) + { +- struct siginfo *siginfo_p = linux_nat_get_siginfo (inferior_ptid); ++ siginfo_t *siginfo_p = linux_nat_get_siginfo (inferior_ptid); + int slot = siginfo_p->si_errno; + + /* This must be a hardware breakpoint. */ +Index: gdb-7.4.1/gdb/arm-linux-tdep.c +=================================================================== +--- gdb-7.4.1.orig/gdb/arm-linux-tdep.c 2012-01-05 20:43:04.000000000 -0800 ++++ gdb-7.4.1/gdb/arm-linux-tdep.c 2012-07-03 10:12:30.154227388 -0700 +@@ -301,7 +301,7 @@ + + /* There are three elements in an rt_sigframe before the ucontext: + pinfo, puc, and info. The first two are pointers and the third +- is a struct siginfo, with size 128 bytes. We could follow puc ++ is a siginfo_t, with size 128 bytes. We could follow puc + to the ucontext, but it's simpler to skip the whole thing. */ + #define ARM_OLD_RT_SIGFRAME_SIGINFO 0x8 + #define ARM_OLD_RT_SIGFRAME_UCONTEXT 0x88 +Index: gdb-7.4.1/gdb/frv-linux-tdep.c +=================================================================== +--- gdb-7.4.1.orig/gdb/frv-linux-tdep.c 2012-01-05 20:43:12.000000000 -0800 ++++ gdb-7.4.1/gdb/frv-linux-tdep.c 2012-07-03 10:12:30.154227388 -0700 +@@ -94,9 +94,9 @@ + { + void (*pretcode)(void); + int sig; +- struct siginfo *pinfo; ++ siginfo_t *pinfo; + void *puc; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + uint32_t retcode[2]; + }; +Index: gdb-7.4.1/gdb/gdbserver/linux-arm-low.c +=================================================================== +--- gdb-7.4.1.orig/gdb/gdbserver/linux-arm-low.c 2012-01-05 20:43:37.000000000 -0800 ++++ gdb-7.4.1/gdb/gdbserver/linux-arm-low.c 2012-07-03 10:12:30.154227388 -0700 +@@ -631,7 +631,7 @@ + arm_stopped_by_watchpoint (void) + { + struct lwp_info *lwp = get_thread_lwp (current_inferior); +- struct siginfo siginfo; ++ siginfo_t siginfo; + + /* We must be able to set hardware watchpoints. */ + if (arm_linux_get_hw_watchpoint_count () == 0) +Index: gdb-7.4.1/gdb/gdbserver/linux-low.c +=================================================================== +--- gdb-7.4.1.orig/gdb/gdbserver/linux-low.c 2012-01-05 20:43:37.000000000 -0800 ++++ gdb-7.4.1/gdb/gdbserver/linux-low.c 2012-07-03 10:12:30.154227388 -0700 +@@ -4522,7 +4522,7 @@ + layout of the inferiors' architecture. */ + + static void +-siginfo_fixup (struct siginfo *siginfo, void *inf_siginfo, int direction) ++siginfo_fixup (siginfo_t *siginfo, void *inf_siginfo, int direction) + { + int done = 0; + +@@ -4534,9 +4534,9 @@ + if (!done) + { + if (direction == 1) +- memcpy (siginfo, inf_siginfo, sizeof (struct siginfo)); ++ memcpy (siginfo, inf_siginfo, sizeof (siginfo_t)); + else +- memcpy (inf_siginfo, siginfo, sizeof (struct siginfo)); ++ memcpy (inf_siginfo, siginfo, sizeof (siginfo_t)); + } + } + +@@ -4545,8 +4545,8 @@ + unsigned const char *writebuf, CORE_ADDR offset, int len) + { + int pid; +- struct siginfo siginfo; +- char inf_siginfo[sizeof (struct siginfo)]; ++ siginfo_t siginfo; ++ char inf_siginfo[sizeof (siginfo_t)]; + + if (current_inferior == NULL) + return -1; +Index: gdb-7.4.1/gdb/gdbserver/linux-low.h +=================================================================== +--- gdb-7.4.1.orig/gdb/gdbserver/linux-low.h 2012-01-05 20:43:37.000000000 -0800 ++++ gdb-7.4.1/gdb/gdbserver/linux-low.h 2012-07-03 10:20:28.554250548 -0700 +@@ -22,6 +22,7 @@ + #endif + + #include "gdb_proc_service.h" ++#include <signal.h> + + #ifdef HAVE_LINUX_REGSETS + typedef void (*regset_fill_func) (struct regcache *, void *); +@@ -46,8 +47,6 @@ + extern struct regset_info target_regsets[]; + #endif + +-struct siginfo; +- + struct process_info_private + { + /* Arch-specific additions. */ +@@ -103,7 +102,7 @@ + Returns true if any conversion was done; false otherwise. + If DIRECTION is 1, then copy from INF to NATIVE. + If DIRECTION is 0, copy from NATIVE to INF. */ +- int (*siginfo_fixup) (struct siginfo *native, void *inf, int direction); ++ int (*siginfo_fixup) (siginfo_t *native, void *inf, int direction); + + /* Hook to call when a new process is created or attached to. + If extra per-process architecture-specific data is needed, +Index: gdb-7.4.1/gdb/gdbserver/linux-x86-low.c +=================================================================== +--- gdb-7.4.1.orig/gdb/gdbserver/linux-x86-low.c 2012-01-05 20:43:37.000000000 -0800 ++++ gdb-7.4.1/gdb/gdbserver/linux-x86-low.c 2012-07-03 10:12:30.154227388 -0700 +@@ -906,13 +906,13 @@ + INF. */ + + static int +-x86_siginfo_fixup (struct siginfo *native, void *inf, int direction) ++x86_siginfo_fixup (siginfo_t *native, void *inf, int direction) + { + #ifdef __x86_64__ + /* Is the inferior 32-bit? If so, then fixup the siginfo object. */ + if (register_size (0) == 4) + { +- if (sizeof (struct siginfo) != sizeof (compat_siginfo_t)) ++ if (sizeof (siginfo_t) != sizeof (compat_siginfo_t)) + fatal ("unexpected difference in siginfo"); + + if (direction == 0) +Index: gdb-7.4.1/gdb/hppa-linux-tdep.c +=================================================================== +--- gdb-7.4.1.orig/gdb/hppa-linux-tdep.c 2012-01-05 20:43:15.000000000 -0800 ++++ gdb-7.4.1/gdb/hppa-linux-tdep.c 2012-07-03 10:12:30.158227388 -0700 +@@ -181,10 +181,10 @@ + } + + /* sp + sfoffs[try] points to a struct rt_sigframe, which contains +- a struct siginfo and a struct ucontext. struct ucontext contains ++ a siginfo_t and a struct ucontext. struct ucontext contains + a struct sigcontext. Return an offset to this sigcontext here. Too + bad we cannot include system specific headers :-(. +- sizeof(struct siginfo) == 128 ++ sizeof(siginfo_t) == 128 + offsetof(struct ucontext, uc_mcontext) == 24. */ + return sp + sfoffs[try] + 128 + 24; + } +Index: gdb-7.4.1/gdb/ia64-linux-nat.c +=================================================================== +--- gdb-7.4.1.orig/gdb/ia64-linux-nat.c 2012-01-05 20:43:16.000000000 -0800 ++++ gdb-7.4.1/gdb/ia64-linux-nat.c 2012-07-03 10:12:30.158227388 -0700 +@@ -637,7 +637,7 @@ + ia64_linux_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p) + { + CORE_ADDR psr; +- struct siginfo *siginfo_p; ++ siginfo_t *siginfo_p; + struct regcache *regcache = get_current_regcache (); + + siginfo_p = linux_nat_get_siginfo (inferior_ptid); +Index: gdb-7.4.1/gdb/linux-nat.c +=================================================================== +--- gdb-7.4.1.orig/gdb/linux-nat.c 2012-01-05 20:43:19.000000000 -0800 ++++ gdb-7.4.1/gdb/linux-nat.c 2012-07-03 10:12:30.158227388 -0700 +@@ -179,7 +179,7 @@ + /* The method to call, if any, when the siginfo object needs to be + converted between the layout returned by ptrace, and the layout in + the architecture of the inferior. */ +-static int (*linux_nat_siginfo_fixup) (struct siginfo *, ++static int (*linux_nat_siginfo_fixup) (siginfo_t *, + gdb_byte *, + int); + +@@ -4138,7 +4138,7 @@ + layout of the inferiors' architecture. */ + + static void +-siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction) ++siginfo_fixup (siginfo_t *siginfo, gdb_byte *inf_siginfo, int direction) + { + int done = 0; + +@@ -4150,9 +4150,9 @@ + if (!done) + { + if (direction == 1) +- memcpy (siginfo, inf_siginfo, sizeof (struct siginfo)); ++ memcpy (siginfo, inf_siginfo, sizeof (siginfo_t)); + else +- memcpy (inf_siginfo, siginfo, sizeof (struct siginfo)); ++ memcpy (inf_siginfo, siginfo, sizeof (siginfo_t)); + } + } + +@@ -4162,8 +4162,8 @@ + const gdb_byte *writebuf, ULONGEST offset, LONGEST len) + { + int pid; +- struct siginfo siginfo; +- gdb_byte inf_siginfo[sizeof (struct siginfo)]; ++ siginfo_t siginfo; ++ gdb_byte inf_siginfo[sizeof (siginfo_t)]; + + gdb_assert (object == TARGET_OBJECT_SIGNAL_INFO); + gdb_assert (readbuf || writebuf); +@@ -5852,7 +5852,7 @@ + inferior. */ + void + linux_nat_set_siginfo_fixup (struct target_ops *t, +- int (*siginfo_fixup) (struct siginfo *, ++ int (*siginfo_fixup) (siginfo_t *, + gdb_byte *, + int)) + { +@@ -5861,7 +5861,7 @@ + } + + /* Return the saved siginfo associated with PTID. */ +-struct siginfo * ++siginfo_t * + linux_nat_get_siginfo (ptid_t ptid) + { + struct lwp_info *lp = find_lwp_pid (ptid); +Index: gdb-7.4.1/gdb/linux-nat.h +=================================================================== +--- gdb-7.4.1.orig/gdb/linux-nat.h 2012-01-05 20:43:19.000000000 -0800 ++++ gdb-7.4.1/gdb/linux-nat.h 2012-07-03 10:12:30.158227388 -0700 +@@ -76,7 +76,7 @@ + + /* Non-zero si_signo if this LWP stopped with a trap. si_addr may + be the address of a hardware watchpoint. */ +- struct siginfo siginfo; ++ siginfo_t siginfo; + + /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data + watchpoint trap. */ +@@ -171,7 +171,7 @@ + that ptrace returns, and the layout in the architecture of the + inferior. */ + void linux_nat_set_siginfo_fixup (struct target_ops *, +- int (*) (struct siginfo *, ++ int (*) (siginfo_t *, + gdb_byte *, + int)); + +@@ -180,7 +180,7 @@ + void linux_nat_switch_fork (ptid_t new_ptid); + + /* Return the saved siginfo associated with PTID. */ +-struct siginfo *linux_nat_get_siginfo (ptid_t ptid); ++siginfo_t *linux_nat_get_siginfo (ptid_t ptid); + + /* Compute and return the processor core of a given thread. */ + int linux_nat_core_of_thread_1 (ptid_t ptid); +Index: gdb-7.4.1/gdb/linux-tdep.c +=================================================================== +--- gdb-7.4.1.orig/gdb/linux-tdep.c 2012-01-05 20:43:19.000000000 -0800 ++++ gdb-7.4.1/gdb/linux-tdep.c 2012-07-03 10:12:30.158227388 -0700 +@@ -150,7 +150,7 @@ + append_composite_type_field (type, "si_fd", int_type); + append_composite_type_field (sifields_type, "_sigpoll", type); + +- /* struct siginfo */ ++ /* siginfo_t */ + siginfo_type = arch_composite_type (gdbarch, NULL, TYPE_CODE_STRUCT); + TYPE_NAME (siginfo_type) = xstrdup ("siginfo"); + append_composite_type_field (siginfo_type, "si_signo", int_type); +Index: gdb-7.4.1/gdb/mips-linux-tdep.c +=================================================================== +--- gdb-7.4.1.orig/gdb/mips-linux-tdep.c 2012-01-05 20:43:20.000000000 -0800 ++++ gdb-7.4.1/gdb/mips-linux-tdep.c 2012-07-03 10:12:30.158227388 -0700 +@@ -905,7 +905,7 @@ + struct rt_sigframe { + u32 rs_ass[4]; [argument save space for o32] + u32 rs_code[2] [signal trampoline or fill] +- struct siginfo rs_info; ++ siginfo_t rs_info; + struct ucontext rs_uc; + }; + +@@ -1033,7 +1033,7 @@ + struct rt_sigframe_n32 { + u32 rs_ass[4]; [ argument save space for o32 ] + u32 rs_code[2]; [ signal trampoline or fill ] +- struct siginfo rs_info; ++ siginfo_t rs_info; + struct ucontextn32 rs_uc; + }; + +@@ -1048,7 +1048,7 @@ + struct rt_sigframe { + u32 rs_ass[4]; [ argument save space for o32 ] + u32 rs_code[2]; [ signal trampoline ] +- struct siginfo rs_info; ++ siginfo_t rs_info; + struct ucontext rs_uc; + }; + +Index: gdb-7.4.1/gdb/mn10300-linux-tdep.c +=================================================================== +--- gdb-7.4.1.orig/gdb/mn10300-linux-tdep.c 2012-01-05 20:43:20.000000000 -0800 ++++ gdb-7.4.1/gdb/mn10300-linux-tdep.c 2012-07-03 10:12:30.158227388 -0700 +@@ -528,9 +528,9 @@ + { + void (*pretcode)(void); + int sig; +- struct siginfo *pinfo; ++ siginfo_t *pinfo; + void *puc; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + struct fpucontext fpuctx; + char retcode[8]; +Index: gdb-7.4.1/gdb/ppc-linux-nat.c +=================================================================== +--- gdb-7.4.1.orig/gdb/ppc-linux-nat.c 2012-01-05 20:43:22.000000000 -0800 ++++ gdb-7.4.1/gdb/ppc-linux-nat.c 2012-07-03 10:12:30.158227388 -0700 +@@ -2213,7 +2213,7 @@ + static int + ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p) + { +- struct siginfo *siginfo_p; ++ siginfo_t *siginfo_p; + + siginfo_p = linux_nat_get_siginfo (inferior_ptid); + +Index: gdb-7.4.1/gdb/procfs.c +=================================================================== +--- gdb-7.4.1.orig/gdb/procfs.c 2012-01-05 20:43:25.000000000 -0800 ++++ gdb-7.4.1/gdb/procfs.c 2012-07-03 10:12:30.158227388 -0700 +@@ -262,7 +262,7 @@ + #ifdef HAVE_PR_SIGINFO64_T + typedef pr_siginfo64_t gdb_siginfo_t; + #else +-typedef struct siginfo gdb_siginfo_t; ++typedef siginfo_t gdb_siginfo_t; + #endif + + /* On mips-irix, praddset and prdelset are defined in such a way that +Index: gdb-7.4.1/gdb/tic6x-linux-tdep.c +=================================================================== +--- gdb-7.4.1.orig/gdb/tic6x-linux-tdep.c 2012-01-05 20:54:31.000000000 -0800 ++++ gdb-7.4.1/gdb/tic6x-linux-tdep.c 2012-07-03 10:12:30.158227388 -0700 +@@ -34,7 +34,7 @@ + + /* The offset from rt_sigframe pointer to SP register. */ + #define TIC6X_SP_RT_SIGFRAME 8 +-/* Size of struct siginfo info. */ ++/* Size of siginfo_t info. */ + #define TIC6X_SIGINFO_SIZE 128 + /* Size of type stack_t, which contains three fields of type void*, int, and + size_t respectively. */ -- cgit v0.12