There is one usage in boehm-gc/os_dep.c, but it is only used if
SUNOS5SIGS is defined, which it is only if one of SUNOS5, DRSNX, HPUX, or
FREEBSD is defined, which are all not using Linux-based glibc ports.

Likewise, gcc/ada/init.c has a struct __siginfo occurence, but only for
__FreeBSD__.

config/rs6000/linux-unwind.h uses ``char siginfo[128]'', and
config/s390/linux-unwind.h also uses a constant.

I tested the following patch for sh-linux-gnu.  This only covers one
configuration, but the change is pretty mechanic anyway and every place
that used to refer to struct siginfo already must have had <signal.h> in
its include path, which is the same file that declares siginfo_t.

OK to commit?  This should probably also go into any active release
branches, to keep them buildable once this glibc change ripples through?

libgcc/
        * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use
        siginfo_t instead of struct siginfo.
        * config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
        * config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise.
        * config/ia64/linux-unwind.h (ia64_fallback_frame_state)
        (ia64_handle_unwabi): Likewise.
        * config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
        * config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
        * config/sh/linux-unwind.h (shmedia_fallback_frame_state)
        (sh_fallback_frame_state): Likewise.
        * config/tilepro/linux-unwind.h (tile_fallback_frame_state): Likewise.
        * config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.
---
diff -urN gcc-linaro-4.7-2012.04/libgcc/config/alpha/linux-unwind.h gcc-linaro-4.7-2012.04.new/libgcc/config/alpha/linux-unwind.h
--- gcc-linaro-4.7-2012.04/libgcc/config/alpha/linux-unwind.h	2012-04-10 11:54:47.000000000 +0200
+++ gcc-linaro-4.7-2012.04.new/libgcc/config/alpha/linux-unwind.h	2012-09-13 14:07:22.307413027 +0200
@@ -49,7 +49,7 @@
   else if (pc[1] == 0x201f015f)		/* lda $0,NR_rt_sigreturn */
     {
       struct rt_sigframe {
-	struct siginfo info;
+	siginfo_t info;
 	struct ucontext uc;
       } *rt_ = context->cfa;
       sc = &rt_->uc.uc_mcontext;
diff -urN gcc-linaro-4.7-2012.04/libgcc/config/bfin/linux-unwind.h gcc-linaro-4.7-2012.04.new/libgcc/config/bfin/linux-unwind.h
--- gcc-linaro-4.7-2012.04/libgcc/config/bfin/linux-unwind.h	2012-04-10 11:54:47.000000000 +0200
+++ gcc-linaro-4.7-2012.04.new/libgcc/config/bfin/linux-unwind.h	2012-09-13 14:07:36.343413388 +0200
@@ -48,10 +48,10 @@
     {
       struct rt_sigframe {
 	int sig;
-	struct siginfo *pinfo;
+	siginfo_t *pinfo;
 	void *puc;
 	char retcode[8];
-	struct siginfo info;
+	siginfo_t info;
 	struct ucontext uc;
       } *rt_ = context->cfa;
 
diff -urN gcc-linaro-4.7-2012.04/libgcc/config/i386/linux-unwind.h gcc-linaro-4.7-2012.04.new/libgcc/config/i386/linux-unwind.h
--- gcc-linaro-4.7-2012.04/libgcc/config/i386/linux-unwind.h	2012-04-10 11:54:47.000000000 +0200
+++ gcc-linaro-4.7-2012.04.new/libgcc/config/i386/linux-unwind.h	2012-09-13 14:07:49.147413712 +0200
@@ -139,9 +139,9 @@
     {
       struct rt_sigframe {
 	int sig;
-	struct siginfo *pinfo;
+	siginfo_t *pinfo;
 	void *puc;
-	struct siginfo info;
+	siginfo_t info;
 	struct ucontext uc;
       } *rt_ = context->cfa;
       /* The void * cast is necessary to avoid an aliasing warning.
diff -urN gcc-linaro-4.7-2012.04/libgcc/config/mips/linux-unwind.h gcc-linaro-4.7-2012.04.new/libgcc/config/mips/linux-unwind.h
--- gcc-linaro-4.7-2012.04/libgcc/config/mips/linux-unwind.h	2012-04-10 11:54:47.000000000 +0200
+++ gcc-linaro-4.7-2012.04.new/libgcc/config/mips/linux-unwind.h	2012-09-13 14:08:43.007415091 +0200
@@ -75,7 +75,7 @@
       struct rt_sigframe {
 	u_int32_t ass[4];  /* Argument save space for o32.  */
 	u_int32_t trampoline[2];
-	struct siginfo info;
+	siginfo_t info;
 	_sig_ucontext_t uc;
       } *rt_ = context->cfa;
       sc = &rt_->uc.uc_mcontext;
diff -urN gcc-linaro-4.7-2012.04/libgcc/config/pa/linux-unwind.h gcc-linaro-4.7-2012.04.new/libgcc/config/pa/linux-unwind.h
--- gcc-linaro-4.7-2012.04/libgcc/config/pa/linux-unwind.h	2012-04-10 11:54:47.000000000 +0200
+++ gcc-linaro-4.7-2012.04.new/libgcc/config/pa/linux-unwind.h	2012-09-13 14:08:54.335415383 +0200
@@ -63,7 +63,7 @@
   int i;
   struct sigcontext *sc;
   struct rt_sigframe {
-    struct siginfo info;
+    siginfo_t info;
     struct ucontext uc;
   } *frame;
 
diff -urN gcc-linaro-4.7-2012.04/libgcc/config/sh/linux-unwind.h gcc-linaro-4.7-2012.04.new/libgcc/config/sh/linux-unwind.h
--- gcc-linaro-4.7-2012.04/libgcc/config/sh/linux-unwind.h	2012-04-10 11:54:47.000000000 +0200
+++ gcc-linaro-4.7-2012.04.new/libgcc/config/sh/linux-unwind.h	2012-09-13 14:09:12.383415847 +0200
@@ -80,9 +80,9 @@
 	   && (*(unsigned long *) (pc+11)  == 0x6ff0fff0))
     {
       struct rt_sigframe {
-	struct siginfo *pinfo;
+	siginfo_t *pinfo;
 	void *puc;
-	struct siginfo info;
+	siginfo_t info;
 	struct ucontext uc;
       } *rt_ = context->cfa;
       /* The void * cast is necessary to avoid an aliasing warning.
@@ -179,7 +179,7 @@
 		&& (*(unsigned short *) (pc+14)  == 0x00ad))))
     {
       struct rt_sigframe {
-	struct siginfo info;
+	siginfo_t info;
 	struct ucontext uc;
       } *rt_ = context->cfa;
       /* The void * cast is necessary to avoid an aliasing warning.
diff -urN gcc-linaro-4.7-2012.04/libgcc/config/tilepro/linux-unwind.h gcc-linaro-4.7-2012.04.new/libgcc/config/tilepro/linux-unwind.h
--- gcc-linaro-4.7-2012.04/libgcc/config/tilepro/linux-unwind.h	2012-04-10 11:54:47.000000000 +0200
+++ gcc-linaro-4.7-2012.04.new/libgcc/config/tilepro/linux-unwind.h	2012-09-13 14:09:28.907416268 +0200
@@ -61,7 +61,7 @@
 
   struct rt_sigframe {
     unsigned char save_area[C_ABI_SAVE_AREA_SIZE];
-    struct siginfo info;
+    siginfo_t info;
     struct ucontext uc;
   } *rt_;
 
diff -urN gcc-linaro-4.7-2012.04/libgcc/config/xtensa/linux-unwind.h gcc-linaro-4.7-2012.04.new/libgcc/config/xtensa/linux-unwind.h
--- gcc-linaro-4.7-2012.04/libgcc/config/xtensa/linux-unwind.h	2012-04-10 11:54:47.000000000 +0200
+++ gcc-linaro-4.7-2012.04.new/libgcc/config/xtensa/linux-unwind.h	2012-09-13 14:09:41.399416587 +0200
@@ -62,7 +62,7 @@
   struct sigcontext *sc;
 
   struct rt_sigframe {
-    struct siginfo info;
+    siginfo_t info;
     struct ucontext uc;
   } *rt_;