gcc: backport struct siginfo -> siginfo_t renaming
Otherwise newer eglibc toolchain will simply fail to build. SVN-Revision: 33736
This commit is contained in:
parent
1eded4f376
commit
a72cadbbb4
4 changed files with 608 additions and 0 deletions
157
toolchain/gcc/patches/4.6-linaro/002-siginfo_t.patch
Normal file
157
toolchain/gcc/patches/4.6-linaro/002-siginfo_t.patch
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
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?
|
||||||
|
|
||||||
|
gcc/
|
||||||
|
* 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.6-2012.02/gcc/config/alpha/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/alpha/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/alpha/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/alpha/linux-unwind.h 2012-09-13 10:25:52.919072751 +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.6-2012.02/gcc/config/bfin/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/bfin/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/bfin/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/bfin/linux-unwind.h 2012-09-13 10:26:14.819073313 +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.6-2012.02/gcc/config/i386/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/i386/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/i386/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/i386/linux-unwind.h 2012-09-13 10:26:41.891074005 +0200
|
||||||
|
@@ -133,9 +133,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.6-2012.02/gcc/config/ia64/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/ia64/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/ia64/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/ia64/linux-unwind.h 2012-09-13 10:26:59.251074450 +0200
|
||||||
|
@@ -47,7 +47,7 @@
|
||||||
|
struct sigframe {
|
||||||
|
char scratch[16];
|
||||||
|
unsigned long sig_number;
|
||||||
|
- struct siginfo *info;
|
||||||
|
+ siginfo_t *info;
|
||||||
|
struct sigcontext *sc;
|
||||||
|
} *frame_ = (struct sigframe *)context->psp;
|
||||||
|
struct sigcontext *sc = frame_->sc;
|
||||||
|
@@ -137,7 +137,7 @@
|
||||||
|
struct sigframe {
|
||||||
|
char scratch[16];
|
||||||
|
unsigned long sig_number;
|
||||||
|
- struct siginfo *info;
|
||||||
|
+ siginfo_t *info;
|
||||||
|
struct sigcontext *sc;
|
||||||
|
} *frame = (struct sigframe *)context->psp;
|
||||||
|
struct sigcontext *sc = frame->sc;
|
||||||
|
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
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/mips/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/mips/linux-unwind.h 2012-09-13 10:27:17.947074929 +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.6-2012.02/gcc/config/pa/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/pa/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/pa/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/pa/linux-unwind.h 2012-09-13 10:27:27.491075173 +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.6-2012.02/gcc/config/sh/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/sh/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/sh/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/sh/linux-unwind.h 2012-09-13 10:27:58.551075969 +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.6-2012.02/gcc/config/xtensa/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/xtensa/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/xtensa/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/xtensa/linux-unwind.h 2012-09-13 10:28:13.827076359 +0200
|
||||||
|
@@ -62,7 +62,7 @@
|
||||||
|
struct sigcontext *sc;
|
||||||
|
|
||||||
|
struct rt_sigframe {
|
||||||
|
- struct siginfo info;
|
||||||
|
+ siginfo_t info;
|
||||||
|
struct ucontext uc;
|
||||||
|
} *rt_;
|
||||||
|
|
157
toolchain/gcc/patches/4.6.2/002-siginfo_t.patch
Normal file
157
toolchain/gcc/patches/4.6.2/002-siginfo_t.patch
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
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?
|
||||||
|
|
||||||
|
gcc/
|
||||||
|
* 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.6-2012.02/gcc/config/alpha/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/alpha/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/alpha/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/alpha/linux-unwind.h 2012-09-13 10:25:52.919072751 +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.6-2012.02/gcc/config/bfin/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/bfin/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/bfin/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/bfin/linux-unwind.h 2012-09-13 10:26:14.819073313 +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.6-2012.02/gcc/config/i386/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/i386/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/i386/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/i386/linux-unwind.h 2012-09-13 10:26:41.891074005 +0200
|
||||||
|
@@ -133,9 +133,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.6-2012.02/gcc/config/ia64/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/ia64/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/ia64/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/ia64/linux-unwind.h 2012-09-13 10:26:59.251074450 +0200
|
||||||
|
@@ -47,7 +47,7 @@
|
||||||
|
struct sigframe {
|
||||||
|
char scratch[16];
|
||||||
|
unsigned long sig_number;
|
||||||
|
- struct siginfo *info;
|
||||||
|
+ siginfo_t *info;
|
||||||
|
struct sigcontext *sc;
|
||||||
|
} *frame_ = (struct sigframe *)context->psp;
|
||||||
|
struct sigcontext *sc = frame_->sc;
|
||||||
|
@@ -137,7 +137,7 @@
|
||||||
|
struct sigframe {
|
||||||
|
char scratch[16];
|
||||||
|
unsigned long sig_number;
|
||||||
|
- struct siginfo *info;
|
||||||
|
+ siginfo_t *info;
|
||||||
|
struct sigcontext *sc;
|
||||||
|
} *frame = (struct sigframe *)context->psp;
|
||||||
|
struct sigcontext *sc = frame->sc;
|
||||||
|
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
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/mips/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/mips/linux-unwind.h 2012-09-13 10:27:17.947074929 +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.6-2012.02/gcc/config/pa/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/pa/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/pa/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/pa/linux-unwind.h 2012-09-13 10:27:27.491075173 +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.6-2012.02/gcc/config/sh/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/sh/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/sh/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/sh/linux-unwind.h 2012-09-13 10:27:58.551075969 +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.6-2012.02/gcc/config/xtensa/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/xtensa/linux-unwind.h
|
||||||
|
--- gcc-linaro-4.6-2012.02/gcc/config/xtensa/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
|
||||||
|
+++ gcc-linaro-4.6-2012.02.new/gcc/config/xtensa/linux-unwind.h 2012-09-13 10:28:13.827076359 +0200
|
||||||
|
@@ -62,7 +62,7 @@
|
||||||
|
struct sigcontext *sc;
|
||||||
|
|
||||||
|
struct rt_sigframe {
|
||||||
|
- struct siginfo info;
|
||||||
|
+ siginfo_t info;
|
||||||
|
struct ucontext uc;
|
||||||
|
} *rt_;
|
||||||
|
|
147
toolchain/gcc/patches/4.7-linaro/003-siginfo_t.patch
Normal file
147
toolchain/gcc/patches/4.7-linaro/003-siginfo_t.patch
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
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_;
|
||||||
|
|
147
toolchain/gcc/patches/4.7.0/003-siginfo_t.patch
Normal file
147
toolchain/gcc/patches/4.7.0/003-siginfo_t.patch
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
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_;
|
||||||
|
|
Loading…
Reference in a new issue