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