diff options
| author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-12 14:42:25 +0000 | 
|---|---|---|
| committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-12 14:42:25 +0000 | 
| commit | a761a9b3828ac04ef6abab6172e344bb0806eff4 (patch) | |
| tree | 8f3bdef4ace18815774f0914f0fdc33ed3d5aeba /toolchain/gcc/patches/4.6-linaro | |
| parent | 4e0b0330924673f19a0d0e870f68d5ec2523da8e (diff) | |
[toolchain] gcc: backport struct siginfo -> siginfo_t renaming
Otherwise newer eglibc toolchain will simply fail to build.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33736 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/gcc/patches/4.6-linaro')
| -rw-r--r-- | toolchain/gcc/patches/4.6-linaro/002-siginfo_t.patch | 157 | 
1 files changed, 157 insertions, 0 deletions
| diff --git a/toolchain/gcc/patches/4.6-linaro/002-siginfo_t.patch b/toolchain/gcc/patches/4.6-linaro/002-siginfo_t.patch new file mode 100644 index 000000000..a19b7f221 --- /dev/null +++ b/toolchain/gcc/patches/4.6-linaro/002-siginfo_t.patch @@ -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_; +  | 
