gcc-4.3: Apply siginfo_t fix

Borrowed from Gentoo.

+175 -1
+1 -1
pkgs/development/compilers/gcc/4.3/default.nix
··· 76 76 }); 77 77 78 78 patches = 79 - [./pass-cxxcpp.patch ./libmudflap-cpp.patch] 79 + [ ./pass-cxxcpp.patch ./libmudflap-cpp.patch ./siginfo_t_fix.patch ] 80 80 ++ optional noSysDirs ./no-sys-dirs.patch 81 81 ++ optional (noSysDirs && langFortran) ./no-sys-dirs-fortran.patch 82 82 ++ optional langJava ./java-jvgenmain-link.patch
+174
pkgs/development/compilers/gcc/4.3/siginfo_t_fix.patch
··· 1 + https://bugs.gentoo.org/424970 2 + 3 + fix from upstream for building with newer glibc versions 4 + 5 + From f0cdca2bf2230005025e13e7354fedb612933c96 Mon Sep 17 00:00:00 2001 6 + From: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> 7 + Date: Fri, 20 Apr 2012 08:14:00 +0000 8 + Subject: [PATCH] struct siginfo vs. siginfo_t 9 + 10 + Backport from trunk (but apply to gcc/): 11 + 12 + 2012-04-20 Thomas Schwinge <thomas@codesourcery.com> 13 + 14 + gcc/ 15 + * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use 16 + siginfo_t instead of struct siginfo. 17 + * config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise. 18 + * config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise. 19 + * config/ia64/linux-unwind.h (ia64_fallback_frame_state) 20 + (ia64_handle_unwabi): Likewise. 21 + * config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise. 22 + * config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise. 23 + * config/sh/linux-unwind.h (shmedia_fallback_frame_state) 24 + (sh_fallback_frame_state): Likewise. 25 + * config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise. 26 + 27 + git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_5-branch@186613 138bc75d-0d04-0410-961f-82ee72b054a4 28 + --- 29 + gcc/ChangeLog | 20 ++++++++++++++++++++ 30 + gcc/config/alpha/linux-unwind.h | 4 ++-- 31 + gcc/config/bfin/linux-unwind.h | 6 +++--- 32 + gcc/config/i386/linux-unwind.h | 6 +++--- 33 + gcc/config/ia64/linux-unwind.h | 6 +++--- 34 + gcc/config/mips/linux-unwind.h | 5 +++-- 35 + gcc/config/pa/linux-unwind.h | 4 ++-- 36 + gcc/config/sh/linux-unwind.h | 9 +++++---- 37 + gcc/config/xtensa/linux-unwind.h | 4 ++-- 38 + 9 files changed, 43 insertions(+), 21 deletions(-) 39 + 40 + diff --git a/gcc/config/alpha/linux-unwind.h b/gcc/config/alpha/linux-unwind.h 41 + index 4c811dc..8c04b3b 100644 42 + --- a/gcc/config/alpha/linux-unwind.h 43 + +++ b/gcc/config/alpha/linux-unwind.h 44 + @@ -49,7 +49,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, 45 + else if (pc[1] == 0x201f015f) /* lda $0,NR_rt_sigreturn */ 46 + { 47 + struct rt_sigframe { 48 + - struct siginfo info; 49 + + siginfo_t info; 50 + struct ucontext uc; 51 + } *rt_ = context->cfa; 52 + sc = &rt_->uc.uc_mcontext; 53 + diff --git a/gcc/config/bfin/linux-unwind.h b/gcc/config/bfin/linux-unwind.h 54 + index 88c8285..15bb2f1 100644 55 + --- a/gcc/config/bfin/linux-unwind.h 56 + +++ b/gcc/config/bfin/linux-unwind.h 57 + @@ -48,10 +48,10 @@ bfin_fallback_frame_state (struct _Unwind_Context *context, 58 + { 59 + struct rt_sigframe { 60 + int sig; 61 + - struct siginfo *pinfo; 62 + + siginfo_t *pinfo; 63 + void *puc; 64 + char retcode[8]; 65 + - struct siginfo info; 66 + + siginfo_t info; 67 + struct ucontext uc; 68 + } *rt_ = context->cfa; 69 + 70 + diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h 71 + index 36ee370..fe0ea3e 100644 72 + --- a/gcc/config/i386/linux-unwind.h 73 + +++ b/gcc/config/i386/linux-unwind.h 74 + @@ -133,9 +133,9 @@ x86_fallback_frame_state (struct _Unwind_Context *context, 75 + { 76 + struct rt_sigframe { 77 + int sig; 78 + - struct siginfo *pinfo; 79 + + siginfo_t *pinfo; 80 + void *puc; 81 + - struct siginfo info; 82 + + siginfo_t info; 83 + struct ucontext uc; 84 + } *rt_ = context->cfa; 85 + /* The void * cast is necessary to avoid an aliasing warning. 86 + diff --git a/gcc/config/ia64/linux-unwind.h b/gcc/config/ia64/linux-unwind.h 87 + index 93f762d..da31259 100644 88 + --- a/gcc/config/ia64/linux-unwind.h 89 + +++ b/gcc/config/ia64/linux-unwind.h 90 + @@ -47,7 +47,7 @@ ia64_fallback_frame_state (struct _Unwind_Context *context, 91 + struct sigframe { 92 + char scratch[16]; 93 + unsigned long sig_number; 94 + - struct siginfo *info; 95 + + siginfo_t *info; 96 + struct sigcontext *sc; 97 + } *frame_ = (struct sigframe *)context->psp; 98 + struct sigcontext *sc = frame_->sc; 99 + @@ -137,7 +137,7 @@ ia64_handle_unwabi (struct _Unwind_Context *context, _Unwind_FrameState *fs) 100 + struct sigframe { 101 + char scratch[16]; 102 + unsigned long sig_number; 103 + - struct siginfo *info; 104 + + siginfo_t *info; 105 + struct sigcontext *sc; 106 + } *frame = (struct sigframe *)context->psp; 107 + struct sigcontext *sc = frame->sc; 108 + diff --git a/gcc/config/mips/linux-unwind.h b/gcc/config/mips/linux-unwind.h 109 + index 02f7cd5..094ff58 100644 110 + --- a/gcc/config/mips/linux-unwind.h 111 + +++ b/gcc/config/mips/linux-unwind.h 112 + @@ -75,7 +76,7 @@ mips_fallback_frame_state (struct _Unwind_Context *context, 113 + struct rt_sigframe { 114 + u_int32_t ass[4]; /* Argument save space for o32. */ 115 + u_int32_t trampoline[2]; 116 + - struct siginfo info; 117 + + siginfo_t info; 118 + _sig_ucontext_t uc; 119 + } *rt_ = context->cfa; 120 + sc = &rt_->uc.uc_mcontext; 121 + diff --git a/gcc/config/pa/linux-unwind.h b/gcc/config/pa/linux-unwind.h 122 + index a0560e9..38b4eda 100644 123 + --- a/gcc/config/pa/linux-unwind.h 124 + +++ b/gcc/config/pa/linux-unwind.h 125 + @@ -63,7 +63,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context, 126 + int i; 127 + struct sigcontext *sc; 128 + struct rt_sigframe { 129 + - struct siginfo info; 130 + + siginfo_t info; 131 + struct ucontext uc; 132 + } *frame; 133 + 134 + diff --git a/gcc/config/sh/linux-unwind.h b/gcc/config/sh/linux-unwind.h 135 + index 94ed95d..5a78e31 100644 136 + --- a/gcc/config/sh/linux-unwind.h 137 + +++ b/gcc/config/sh/linux-unwind.h 138 + @@ -80,9 +81,9 @@ shmedia_fallback_frame_state (struct _Unwind_Context *context, 139 + && (*(unsigned long *) (pc+11) == 0x6ff0fff0)) 140 + { 141 + struct rt_sigframe { 142 + - struct siginfo *pinfo; 143 + + siginfo_t *pinfo; 144 + void *puc; 145 + - struct siginfo info; 146 + + siginfo_t info; 147 + struct ucontext uc; 148 + } *rt_ = context->cfa; 149 + /* The void * cast is necessary to avoid an aliasing warning. 150 + @@ -179,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context, 151 + && (*(unsigned short *) (pc+14) == 0x00ad)))) 152 + { 153 + struct rt_sigframe { 154 + - struct siginfo info; 155 + + siginfo_t info; 156 + struct ucontext uc; 157 + } *rt_ = context->cfa; 158 + /* The void * cast is necessary to avoid an aliasing warning. 159 + diff --git a/gcc/config/xtensa/linux-unwind.h b/gcc/config/xtensa/linux-unwind.h 160 + index 32e9349..2456497 100644 161 + --- a/gcc/config/xtensa/linux-unwind.h 162 + +++ b/gcc/config/xtensa/linux-unwind.h 163 + @@ -62,7 +62,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context, 164 + struct sigcontext *sc; 165 + 166 + struct rt_sigframe { 167 + - struct siginfo info; 168 + + siginfo_t info; 169 + struct ucontext uc; 170 + } *rt_; 171 + 172 + -- 173 + 1.7.9.7 174 +