15f2c5b
--- crash-6.0.8/gdb-7.3.1.patch.orig
15f2c5b
+++ crash-6.0.8/gdb-7.3.1.patch
f5a9109
@@ -1526,3 +1526,166 @@ diff -up gdb-7.3.1/gdb/psymtab.c.orig gd
15f2c5b
 +		return NULL;
15f2c5b
 +}
15f2c5b
  #endif
f5a9109
+--- gdb-7.3.1/gdb/arm-linux-nat.c.orig
f5a9109
++++ gdb-7.3.1/gdb/arm-linux-nat.c
f5a9109
+@@ -1203,7 +1203,7 @@ arm_linux_remove_watchpoint (CORE_ADDR a
f5a9109
+ static int
f5a9109
+ arm_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
f5a9109
+ {
f5a9109
+-  struct siginfo *siginfo_p = linux_nat_get_siginfo (inferior_ptid);
f5a9109
++  siginfo_t *siginfo_p = linux_nat_get_siginfo (inferior_ptid);
f5a9109
+   int slot = siginfo_p->si_errno;
f5a9109
+ 
f5a9109
+   /* This must be a hardware breakpoint.  */
f5a9109
+--- gdb-7.3.1/gdb/ia64-linux-nat.c.orig
f5a9109
++++ gdb-7.3.1/gdb/ia64-linux-nat.c
f5a9109
+@@ -640,7 +640,7 @@ static int
f5a9109
+ ia64_linux_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
f5a9109
+ {
f5a9109
+   CORE_ADDR psr;
f5a9109
+-  struct siginfo *siginfo_p;
f5a9109
++  siginfo_t *siginfo_p;
f5a9109
+   struct regcache *regcache = get_current_regcache ();
f5a9109
+ 
f5a9109
+   siginfo_p = linux_nat_get_siginfo (inferior_ptid);
f5a9109
+--- gdb-7.3.1/gdb/ppc-linux-nat.c.orig
f5a9109
++++ gdb-7.3.1/gdb/ppc-linux-nat.c
f5a9109
+@@ -2161,7 +2161,7 @@ ppc_linux_thread_exit (struct thread_inf
f5a9109
+ static int
f5a9109
+ ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
f5a9109
+ {
f5a9109
+-  struct siginfo *siginfo_p;
f5a9109
++  siginfo_t *siginfo_p;
f5a9109
+ 
f5a9109
+   siginfo_p = linux_nat_get_siginfo (inferior_ptid);
f5a9109
+ 
f5a9109
+--- gdb-7.3.1/gdb/alpha-linux-tdep.c.orig
f5a9109
++++ gdb-7.3.1/gdb/alpha-linux-tdep.c
f5a9109
+@@ -115,7 +115,7 @@ alpha_linux_sigcontext_addr (struct fram
f5a9109
+   /* __NR_rt_sigreturn has a couple of structures on the stack.  This is:
f5a9109
+ 
f5a9109
+ 	struct rt_sigframe {
f5a9109
+-	  struct siginfo info;
f5a9109
++	  siginfo_t info;
f5a9109
+ 	  struct ucontext uc;
f5a9109
+         };
f5a9109
+ 
f5a9109
+--- gdb-7.3.1/gdb/procfs.c.orig
f5a9109
++++ gdb-7.3.1/gdb/procfs.c
f5a9109
+@@ -263,7 +263,7 @@ typedef struct sigaction gdb_sigaction_t
f5a9109
+ #ifdef HAVE_PR_SIGINFO64_T
f5a9109
+ typedef pr_siginfo64_t gdb_siginfo_t;
f5a9109
+ #else
f5a9109
+-typedef struct siginfo gdb_siginfo_t;
f5a9109
++typedef siginfo_t gdb_siginfo_t;
f5a9109
+ #endif
f5a9109
+ 
f5a9109
+ /* On mips-irix, praddset and prdelset are defined in such a way that
f5a9109
+--- gdb-7.3.1/gdb/amd64-linux-nat.c.orig
f5a9109
++++ gdb-7.3.1/gdb/amd64-linux-nat.c
f5a9109
+@@ -695,13 +695,13 @@ siginfo_from_compat_siginfo (siginfo_t *
f5a9109
+    INF.  */
f5a9109
+ 
f5a9109
+ static int
f5a9109
+-amd64_linux_siginfo_fixup (struct siginfo *native, gdb_byte *inf, int direction)
f5a9109
++amd64_linux_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction)
f5a9109
+ {
f5a9109
+   /* Is the inferior 32-bit?  If so, then do fixup the siginfo
f5a9109
+      object.  */
f5a9109
+   if (gdbarch_addr_bit (get_frame_arch (get_current_frame ())) == 32)
f5a9109
+     {
f5a9109
+-      gdb_assert (sizeof (struct siginfo) == sizeof (compat_siginfo_t));
f5a9109
++      gdb_assert (sizeof (siginfo_t) == sizeof (compat_siginfo_t));
f5a9109
+ 
f5a9109
+       if (direction == 0)
f5a9109
+ 	compat_siginfo_from_siginfo ((struct compat_siginfo *) inf, native);
15f2c5b
+--- gdb-7.3.1/gdb/linux-nat.h.orig
15f2c5b
++++ gdb-7.3.1/gdb/linux-nat.h
15f2c5b
+@@ -60,7 +60,7 @@ struct lwp_info
15f2c5b
+ 
15f2c5b
+   /* Non-zero si_signo if this LWP stopped with a trap.  si_addr may
15f2c5b
+      be the address of a hardware watchpoint.  */
15f2c5b
+-  struct siginfo siginfo;
15f2c5b
++  siginfo_t siginfo;
15f2c5b
+ 
15f2c5b
+   /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data
15f2c5b
+      watchpoint trap.  */
f5a9109
+@@ -160,7 +160,7 @@ void linux_nat_set_new_thread (struct ta
f5a9109
+    that ptrace returns, and the layout in the architecture of the
f5a9109
+    inferior.  */
f5a9109
+ void linux_nat_set_siginfo_fixup (struct target_ops *,
f5a9109
+-				  int (*) (struct siginfo *,
f5a9109
++				  int (*) (siginfo_t *,
f5a9109
+ 					   gdb_byte *,
f5a9109
+ 					   int));
f5a9109
+ 
f5a9109
+@@ -169,7 +169,7 @@ void linux_nat_set_siginfo_fixup (struct
f5a9109
+ void linux_nat_switch_fork (ptid_t new_ptid);
f5a9109
+ 
f5a9109
+ /* Return the saved siginfo associated with PTID.  */
f5a9109
+-struct siginfo *linux_nat_get_siginfo (ptid_t ptid);
f5a9109
++siginfo_t *linux_nat_get_siginfo (ptid_t ptid);
f5a9109
+ 
f5a9109
+ /* Compute and return the processor core of a given thread.  */
f5a9109
+ int linux_nat_core_of_thread_1 (ptid_t ptid);
f5a9109
+--- gdb-7.3.1/gdb/linux-nat.c.orig
f5a9109
++++ gdb-7.3.1/gdb/linux-nat.c
f5a9109
+@@ -214,7 +214,7 @@ static void (*linux_nat_new_thread) (pti
f5a9109
+ /* The method to call, if any, when the siginfo object needs to be
f5a9109
+    converted between the layout returned by ptrace, and the layout in
f5a9109
+    the architecture of the inferior.  */
f5a9109
+-static int (*linux_nat_siginfo_fixup) (struct siginfo *,
f5a9109
++static int (*linux_nat_siginfo_fixup) (siginfo_t *,
f5a9109
+ 				       gdb_byte *,
f5a9109
+ 				       int);
f5a9109
+ 
f5a9109
+@@ -3945,7 +3945,7 @@ linux_nat_mourn_inferior (struct target_
f5a9109
+    layout of the inferiors' architecture.  */
f5a9109
+ 
f5a9109
+ static void
f5a9109
+-siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction)
f5a9109
++siginfo_fixup (siginfo_t *siginfo, gdb_byte *inf_siginfo, int direction)
f5a9109
+ {
f5a9109
+   int done = 0;
f5a9109
+ 
f5a9109
+@@ -3957,9 +3957,9 @@ siginfo_fixup (struct siginfo *siginfo, 
f5a9109
+   if (!done)
f5a9109
+     {
f5a9109
+       if (direction == 1)
f5a9109
+-	memcpy (siginfo, inf_siginfo, sizeof (struct siginfo));
f5a9109
++	memcpy (siginfo, inf_siginfo, sizeof (siginfo_t));
f5a9109
+       else
f5a9109
+-	memcpy (inf_siginfo, siginfo, sizeof (struct siginfo));
f5a9109
++	memcpy (inf_siginfo, siginfo, sizeof (siginfo_t));
f5a9109
+     }
f5a9109
+ }
f5a9109
+ 
f5a9109
+@@ -3969,8 +3969,8 @@ linux_xfer_siginfo (struct target_ops *o
f5a9109
+ 		    const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
f5a9109
+ {
f5a9109
+   int pid;
f5a9109
+-  struct siginfo siginfo;
f5a9109
+-  gdb_byte inf_siginfo[sizeof (struct siginfo)];
f5a9109
++  siginfo_t siginfo;
f5a9109
++  gdb_byte inf_siginfo[sizeof (siginfo_t)];
f5a9109
+ 
f5a9109
+   gdb_assert (object == TARGET_OBJECT_SIGNAL_INFO);
f5a9109
+   gdb_assert (readbuf || writebuf);
f5a9109
+@@ -5784,7 +5784,7 @@ linux_nat_set_new_thread (struct target_
f5a9109
+    inferior.  */
f5a9109
+ void
f5a9109
+ linux_nat_set_siginfo_fixup (struct target_ops *t,
f5a9109
+-			     int (*siginfo_fixup) (struct siginfo *,
f5a9109
++			     int (*siginfo_fixup) (siginfo_t *,
f5a9109
+ 						   gdb_byte *,
f5a9109
+ 						   int))
f5a9109
+ {
f5a9109
+@@ -5793,7 +5793,7 @@ linux_nat_set_siginfo_fixup (struct targ
f5a9109
+ }
f5a9109
+ 
f5a9109
+ /* Return the saved siginfo associated with PTID.  */
f5a9109
+-struct siginfo *
f5a9109
++siginfo_t *
f5a9109
+ linux_nat_get_siginfo (ptid_t ptid)
f5a9109
+ {
f5a9109
+   struct lwp_info *lp = find_lwp_pid (ptid);