1 There is one usage in boehm-gc/os_dep.c, but it is only used if
2 SUNOS5SIGS is defined, which it is only if one of SUNOS5, DRSNX, HPUX, or
3 FREEBSD is defined, which are all not using Linux-based glibc ports.
5 Likewise, gcc/ada/init.c has a struct __siginfo occurence, but only for
8 config/rs6000/linux-unwind.h uses ``char siginfo[128]'', and
9 config/s390/linux-unwind.h also uses a constant.
11 I tested the following patch for sh-linux-gnu. This only covers one
12 configuration, but the change is pretty mechanic anyway and every place
13 that used to refer to struct siginfo already must have had <signal.h> in
14 its include path, which is the same file that declares siginfo_t.
16 OK to commit? This should probably also go into any active release
17 branches, to keep them buildable once this glibc change ripples through?
20 * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use
21 siginfo_t instead of struct siginfo.
22 * config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
23 * config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise.
24 * config/ia64/linux-unwind.h (ia64_fallback_frame_state)
25 (ia64_handle_unwabi): Likewise.
26 * config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
27 * config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
28 * config/sh/linux-unwind.h (shmedia_fallback_frame_state)
29 (sh_fallback_frame_state): Likewise.
30 * config/tilepro/linux-unwind.h (tile_fallback_frame_state): Likewise.
31 * config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.
34 diff -urN gcc-linaro-4.6-2012.02/gcc/config/alpha/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/alpha/linux-unwind.h
35 --- gcc-linaro-4.6-2012.02/gcc/config/alpha/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
36 +++ gcc-linaro-4.6-2012.02.new/gcc/config/alpha/linux-unwind.h 2012-09-13 10:25:52.919072751 +0200
38 else if (pc[1] == 0x201f015f) /* lda $0,NR_rt_sigreturn */
41 - struct siginfo info;
44 } *rt_ = context->cfa;
45 sc = &rt_->uc.uc_mcontext;
46 diff -urN gcc-linaro-4.6-2012.02/gcc/config/bfin/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/bfin/linux-unwind.h
47 --- gcc-linaro-4.6-2012.02/gcc/config/bfin/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
48 +++ gcc-linaro-4.6-2012.02.new/gcc/config/bfin/linux-unwind.h 2012-09-13 10:26:14.819073313 +0200
53 - struct siginfo *pinfo;
57 - struct siginfo info;
60 } *rt_ = context->cfa;
62 diff -urN gcc-linaro-4.6-2012.02/gcc/config/i386/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/i386/linux-unwind.h
63 --- gcc-linaro-4.6-2012.02/gcc/config/i386/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
64 +++ gcc-linaro-4.6-2012.02.new/gcc/config/i386/linux-unwind.h 2012-09-13 10:26:41.891074005 +0200
69 - struct siginfo *pinfo;
72 - struct siginfo info;
75 } *rt_ = context->cfa;
76 /* The void * cast is necessary to avoid an aliasing warning.
77 diff -urN gcc-linaro-4.6-2012.02/gcc/config/ia64/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/ia64/linux-unwind.h
78 --- gcc-linaro-4.6-2012.02/gcc/config/ia64/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
79 +++ gcc-linaro-4.6-2012.02.new/gcc/config/ia64/linux-unwind.h 2012-09-13 10:26:59.251074450 +0200
83 unsigned long sig_number;
84 - struct siginfo *info;
86 struct sigcontext *sc;
87 } *frame_ = (struct sigframe *)context->psp;
88 struct sigcontext *sc = frame_->sc;
92 unsigned long sig_number;
93 - struct siginfo *info;
95 struct sigcontext *sc;
96 } *frame = (struct sigframe *)context->psp;
97 struct sigcontext *sc = frame->sc;
98 diff -urN gcc-linaro-4.6-2012.02/gcc/config/mips/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/mips/linux-unwind.h
99 --- gcc-linaro-4.6-2012.02/gcc/config/mips/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
100 +++ gcc-linaro-4.6-2012.02.new/gcc/config/mips/linux-unwind.h 2012-09-13 10:27:17.947074929 +0200
103 u_int32_t ass[4]; /* Argument save space for o32. */
104 u_int32_t trampoline[2];
105 - struct siginfo info;
108 } *rt_ = context->cfa;
109 sc = &rt_->uc.uc_mcontext;
110 diff -urN gcc-linaro-4.6-2012.02/gcc/config/pa/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/pa/linux-unwind.h
111 --- gcc-linaro-4.6-2012.02/gcc/config/pa/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
112 +++ gcc-linaro-4.6-2012.02.new/gcc/config/pa/linux-unwind.h 2012-09-13 10:27:27.491075173 +0200
115 struct sigcontext *sc;
117 - struct siginfo info;
122 diff -urN gcc-linaro-4.6-2012.02/gcc/config/sh/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/sh/linux-unwind.h
123 --- gcc-linaro-4.6-2012.02/gcc/config/sh/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
124 +++ gcc-linaro-4.6-2012.02.new/gcc/config/sh/linux-unwind.h 2012-09-13 10:27:58.551075969 +0200
126 && (*(unsigned long *) (pc+11) == 0x6ff0fff0))
129 - struct siginfo *pinfo;
132 - struct siginfo info;
135 } *rt_ = context->cfa;
136 /* The void * cast is necessary to avoid an aliasing warning.
138 && (*(unsigned short *) (pc+14) == 0x00ad))))
141 - struct siginfo info;
144 } *rt_ = context->cfa;
145 /* The void * cast is necessary to avoid an aliasing warning.
146 diff -urN gcc-linaro-4.6-2012.02/gcc/config/xtensa/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/xtensa/linux-unwind.h
147 --- gcc-linaro-4.6-2012.02/gcc/config/xtensa/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
148 +++ gcc-linaro-4.6-2012.02.new/gcc/config/xtensa/linux-unwind.h 2012-09-13 10:28:13.827076359 +0200
150 struct sigcontext *sc;
153 - struct siginfo info;