1 |
rhill 14/05/01 05:14:25 |
2 |
|
3 |
Added: 09_all_default-ssp.patch |
4 |
10_all_default-fortify-source.patch |
5 |
11_all_default-warn-format-security.patch |
6 |
12_all_default-warn-trampolines.patch |
7 |
15_all_libgfortran-Werror.patch |
8 |
16_all_libgomp-Werror.patch |
9 |
17_all_libitm-Werror.patch |
10 |
18_all_libatomic-Werror.patch |
11 |
19_all_libbacktrace-Werror.patch |
12 |
25_all_alpha-mieee-default.patch |
13 |
26_all_alpha-asm-mcpu.patch |
14 |
29_all_arm_armv4t-default.patch |
15 |
34_all_ia64_note.GNU-stack.patch |
16 |
38_all_sh_pr24836_all-archs.patch |
17 |
42_all_superh_default-multilib.patch |
18 |
50_all_libiberty-asprintf.patch |
19 |
51_all_libiberty-pic.patch |
20 |
52_all_netbsd-Bsymbolic.patch |
21 |
67_all_gcc-poison-system-directories.patch.updateme |
22 |
74_all_gcc49_cloog-dl.patch |
23 |
90_all_pr55930-dependency-tracking.patch |
24 |
92_all_freebsd-pie.patch README.history |
25 |
Log: |
26 |
Add patchset. |
27 |
|
28 |
Revision Changes Path |
29 |
1.1 src/patchsets/gcc/4.9.0/gentoo/09_all_default-ssp.patch |
30 |
|
31 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/09_all_default-ssp.patch?rev=1.1&view=markup |
32 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/09_all_default-ssp.patch?rev=1.1&content-type=text/plain |
33 |
|
34 |
Index: 09_all_default-ssp.patch |
35 |
=================================================================== |
36 |
2013-12-31 Magnus Granberg <zorry@g.o> |
37 |
|
38 |
Patch orig: Debian/Ubuntu |
39 |
# 484714 |
40 |
We Add -fstack-protector as default |
41 |
|
42 |
--- a/configure.ac 2013-02-05 23:36:20.000000000 +0100 |
43 |
+++ b/configure.ac 2013-12-30 22:22:47.241772166 +0100 |
44 |
@@ -3238,6 +3238,9 @@ case $build in |
45 |
esac ;; |
46 |
esac |
47 |
|
48 |
+# Needed when we build with -fstack-protector as default. |
49 |
+stage1_cflags="$stage1_cflags -fno-stack-protector" |
50 |
+ |
51 |
AC_SUBST(stage1_cflags) |
52 |
|
53 |
# Enable --enable-checking in stage1 of the compiler. |
54 |
--- a/configure 2013-02-05 23:36:20.000000000 +0100 |
55 |
+++ b/configure 2013-12-30 22:57:04.301738428 +0100 |
56 |
@@ -14453,7 +14453,8 @@ case $build in |
57 |
esac ;; |
58 |
esac |
59 |
|
60 |
- |
61 |
+# Needed when we build with -fstack-protector as default. |
62 |
+stage1_cflags="$stage1_cflags -fno-stack-protector" |
63 |
|
64 |
# Enable --enable-checking in stage1 of the compiler. |
65 |
# Check whether --enable-stage1-checking was given. |
66 |
--- a/Makefile.in 2013-01-14 17:15:21.000000000 +0100 |
67 |
+++ b/Makefile.in 2013-12-30 22:26:24.381768605 +0100 |
68 |
@@ -362,7 +362,7 @@ BUILD_PREFIX_1 = @BUILD_PREFIX_1@ |
69 |
|
70 |
# Flags to pass to stage2 and later makes. They are defined |
71 |
# here so that they can be overridden by Makefile fragments. |
72 |
-BOOT_CFLAGS= -g -O2 |
73 |
+BOOT_CFLAGS= -g -O2 -fno-stack-protector |
74 |
BOOT_LDFLAGS= |
75 |
BOOT_ADAFLAGS= -gnatpg |
76 |
|
77 |
@@ -408,9 +408,9 @@ GNATMAKE = @GNATMAKE@ |
78 |
|
79 |
CFLAGS = @CFLAGS@ |
80 |
LDFLAGS = @LDFLAGS@ |
81 |
-LIBCFLAGS = $(CFLAGS) |
82 |
+LIBCFLAGS = $(CFLAGS) -fno-stack-protector |
83 |
CXXFLAGS = @CXXFLAGS@ |
84 |
-LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates |
85 |
+LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates -fno-stack-protector |
86 |
GOCFLAGS = $(CFLAGS) |
87 |
|
88 |
TFLAGS = |
89 |
--- a/gcc/doc/invoke.texi 2009-12-21 |
90 |
+++ b/gcc/doc/invoke.texi 2009-12-21 |
91 |
@@ -8111,6 +8111,10 @@ |
92 |
when a function is entered and then checked when the function exits. |
93 |
If a guard check fails, an error message is printed and the program exits. |
94 |
|
95 |
+NOTE: In Gentoo Gcc 4.8.2 and later versions this option is enabled by default |
96 |
+for C, C++, ObjC, ObjC++, if none of @option{-fno-stack-protector}, |
97 |
+@option{-nostdlib}, nor @option{-ffreestanding} are found. |
98 |
+ |
99 |
@item -fstack-protector-all |
100 |
@opindex fstack-protector-all |
101 |
Like @option{-fstack-protector} except that all functions are protected. |
102 |
--- a/gcc/cp/lang-specs.h |
103 |
+++ b/gcc/cp/lang-specs.h |
104 |
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see |
105 |
%(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\ |
106 |
cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\ |
107 |
%{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\ |
108 |
- %(cc1_options) %2\ |
109 |
+ %(cc1_options) %(ssp_default) %2\ |
110 |
%{!fsyntax-only:%{!fdump-ada-spec*:-o %g.s %{!o*:--output-pch=%i.gch}\ |
111 |
%W{o*:--output-pch=%*}}%V}}}}", |
112 |
CPLUSPLUS_CPP_SPEC, 0, 0}, |
113 |
@@ -57,11 +57,11 @@ along with GCC; see the file COPYING3. If not see |
114 |
%(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\ |
115 |
cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\ |
116 |
%{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\ |
117 |
- %(cc1_options) %2\ |
118 |
+ %(cc1_options) %(ssp_default) %2\ |
119 |
%{!fsyntax-only:%(invoke_as)}}}}", |
120 |
CPLUSPLUS_CPP_SPEC, 0, 0}, |
121 |
{".ii", "@c++-cpp-output", 0, 0, 0}, |
122 |
{"@c++-cpp-output", |
123 |
"%{!M:%{!MM:%{!E:\ |
124 |
- cc1plus -fpreprocessed %i %(cc1_options) %2\ |
125 |
+ cc1plus -fpreprocessed %i %(cc1_options) %(ssp_default) %2\ |
126 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
127 |
--- a/gcc/gcc.c |
128 |
+++ b/gcc/gcc.c |
129 |
@@ -651,6 +651,17 @@ proper position among the other output files. */ |
130 |
#define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G" |
131 |
#endif |
132 |
|
133 |
+#ifndef SSP_DEFAULT_SPEC |
134 |
+#if defined ( TARGET_LIBC_PROVIDES_SSP ) && defined ( EFAULT_SSP ) |
135 |
+#define SSP_DEFAULT_SPEC "%{fno-stack-protector|fstack-protector-all|ffreestanding|nostdlib:;:-fstack-protector}" |
136 |
+/* Add -fno-stack-protector for the use of gcc-specs-ssp. */ |
137 |
+#define CC1_SSP_DEFAULT_SPEC "%{!fno-stack-protector:}" |
138 |
+#else |
139 |
+#define SSP_DEFAULT_SPEC "" |
140 |
+#define CC1_SSP_DEFAULT_SPEC "" |
141 |
+#endif |
142 |
+#endif |
143 |
+ |
144 |
#ifndef LINK_SSP_SPEC |
145 |
#ifdef TARGET_LIBC_PROVIDES_SSP |
146 |
#define LINK_SSP_SPEC "%{fstack-protector:}" |
147 |
@@ -771,7 +781,7 @@ proper position among the other output f |
148 |
|
149 |
static const char *asm_debug = ASM_DEBUG_SPEC; |
150 |
static const char *cpp_spec = CPP_SPEC; |
151 |
-static const char *cc1_spec = CC1_SPEC; |
152 |
+static const char *cc1_spec = CC1_SPEC CC1_SSP_DEFAULT_SPEC; |
153 |
static const char *cc1plus_spec = CC1PLUS_SPEC; |
154 |
static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC; |
155 |
static const char *link_ssp_spec = LINK_SSP_SPEC; |
156 |
@@ -777,6 +785,8 @@ static const char *cc1_spec = CC1_SPEC; |
157 |
static const char *cc1plus_spec = CC1PLUS_SPEC; |
158 |
static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC; |
159 |
static const char *link_ssp_spec = LINK_SSP_SPEC; |
160 |
+static const char *ssp_default_spec = SSP_DEFAULT_SPEC; |
161 |
+static const char *cc1_ssp_default_spec = CC1_SSP_DEFAULT_SPEC; |
162 |
static const char *asm_spec = ASM_SPEC; |
163 |
static const char *asm_final_spec = ASM_FINAL_SPEC; |
164 |
static const char *link_spec = LINK_SPEC; |
165 |
@@ -835,7 +844,7 @@ static const char *cpp_unique_options = |
166 |
static const char *cpp_options = |
167 |
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ |
168 |
%{f*} %{g*:%{!g0:%{g*} %{!fno-working-directory:-fworking-directory}}} %{O*}\ |
169 |
- %{undef} %{save-temps*:-fpch-preprocess}"; |
170 |
+ %{undef} %{save-temps*:-fpch-preprocess} %(ssp_default)"; |
171 |
|
172 |
/* This contains cpp options which are not passed when the preprocessor |
173 |
output will be used by another program. */ |
174 |
@@ -1015,9 +1024,9 @@ static const struct compiler default_compilers[] = |
175 |
%{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ |
176 |
%(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\ |
177 |
cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \ |
178 |
- %(cc1_options)}\ |
179 |
+ %(cc1_options) %(ssp_default)}\ |
180 |
%{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\ |
181 |
- cc1 %(cpp_unique_options) %(cc1_options)}}}\ |
182 |
+ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\ |
183 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1}, |
184 |
{"-", |
185 |
"%{!E:%e-E or -x required when input is from standard input}\ |
186 |
@@ -1040,7 +1049,7 @@ static const struct compiler default_compilers[] = |
187 |
%W{o*:--output-pch=%*}}%V}}}}}}", 0, 0, 0}, |
188 |
{".i", "@cpp-output", 0, 0, 0}, |
189 |
{"@cpp-output", |
190 |
- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
191 |
+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %(ssp_default) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
192 |
{".s", "@assembler", 0, 0, 0}, |
193 |
{"@assembler", |
194 |
"%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0}, |
195 |
@@ -1267,6 +1276,8 @@ static struct spec_list static_specs[] = |
196 |
INIT_STATIC_SPEC ("cc1plus", &cc1plus_spec), |
197 |
INIT_STATIC_SPEC ("link_gcc_c_sequence", &link_gcc_c_sequence_spec), |
198 |
INIT_STATIC_SPEC ("link_ssp", &link_ssp_spec), |
199 |
+ INIT_STATIC_SPEC ("ssp_default", &ssp_default_spec), |
200 |
+ INIT_STATIC_SPEC ("cc1_ssp_default", &cc1_ssp_default_spec), |
201 |
INIT_STATIC_SPEC ("endfile", &endfile_spec), |
202 |
INIT_STATIC_SPEC ("link", &link_spec), |
203 |
INIT_STATIC_SPEC ("lib", &lib_spec), |
204 |
--- a/gcc/objc/lang-specs.h |
205 |
+++ b/gcc/objc/lang-specs.h |
206 |
@@ -29,9 +29,9 @@ along with GCC; see the file COPYING3. If not see |
207 |
%{traditional|traditional-cpp:\ |
208 |
%eGNU Objective C no longer supports traditional compilation}\ |
209 |
%{save-temps*|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps*:%b.mi} %{!save-temps*:%g.mi} \n\ |
210 |
- cc1obj -fpreprocessed %{save-temps*:%b.mi} %{!save-temps*:%g.mi} %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\ |
211 |
+ cc1obj -fpreprocessed %{save-temps*:%b.mi} %{!save-temps*:%g.mi} %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}\ |
212 |
%{!save-temps*:%{!no-integrated-cpp:\ |
213 |
- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\ |
214 |
+ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}}\ |
215 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
216 |
{"@objective-c-header", |
217 |
"%{E|M|MM:cc1obj -E %{traditional|traditional-cpp:-traditional-cpp}\ |
218 |
@@ -40,18 +40,18 @@ along with GCC; see the file COPYING3. If not see |
219 |
%{traditional|traditional-cpp:\ |
220 |
%eGNU Objective C no longer supports traditional compilation}\ |
221 |
%{save-temps*|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps*:%b.mi} %{!save-temps*:%g.mi} \n\ |
222 |
- cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ |
223 |
+ cc1obj -fpreprocessed %b.mi %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\ |
224 |
-o %g.s %{!o*:--output-pch=%i.gch}\ |
225 |
%W{o*:--output-pch=%*}%V}\ |
226 |
%{!save-temps*:%{!no-integrated-cpp:\ |
227 |
- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ |
228 |
+ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\ |
229 |
-o %g.s %{!o*:--output-pch=%i.gch}\ |
230 |
%W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0}, |
231 |
{".mi", "@objective-c-cpp-output", 0, 0, 0}, |
232 |
{"@objective-c-cpp-output", |
233 |
- "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ |
234 |
+ "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\ |
235 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
236 |
{"@objc-cpp-output", |
237 |
"%nobjc-cpp-output is deprecated; please use objective-c-cpp-output instead\n\ |
238 |
- %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ |
239 |
+ %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\ |
240 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
241 |
--- a/gcc/objcp/lang-specs.h |
242 |
+++ b/gcc/objcp/lang-specs.h |
243 |
@@ -36,7 +36,7 @@ along with GCC; see the file COPYING3. If not see |
244 |
%(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\ |
245 |
cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\ |
246 |
%{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\ |
247 |
- %(cc1_options) %2\ |
248 |
+ %(cc1_options) %(ssp_default) %2\ |
249 |
-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}", |
250 |
CPLUSPLUS_CPP_SPEC, 0, 0}, |
251 |
{"@objective-c++", |
252 |
@@ -46,16 +46,16 @@ along with GCC; see the file COPYING3. If not see |
253 |
%(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\ |
254 |
cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\ |
255 |
%{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\ |
256 |
- %(cc1_options) %2\ |
257 |
+ %(cc1_options) %(ssp_default) %2\ |
258 |
%{!fsyntax-only:%(invoke_as)}}}}", |
259 |
CPLUSPLUS_CPP_SPEC, 0, 0}, |
260 |
{".mii", "@objective-c++-cpp-output", 0, 0, 0}, |
261 |
{"@objective-c++-cpp-output", |
262 |
"%{!M:%{!MM:%{!E:\ |
263 |
- cc1objplus -fpreprocessed %i %(cc1_options) %2\ |
264 |
+ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2\ |
265 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
266 |
{"@objc++-cpp-output", |
267 |
"%nobjc++-cpp-output is deprecated; please use objective-c++-cpp-output instead\n\ |
268 |
%{!M:%{!MM:%{!E:\ |
269 |
- cc1objplus -fpreprocessed %i %(cc1_options) %2\ |
270 |
+ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2\ |
271 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
272 |
--- a/gcc/params.def |
273 |
+++ b/gcc/params.def |
274 |
@@ -662,7 +662,7 @@ DEFPARAM (PARAM_INTEGER_SHARE_LIMIT, |
275 |
DEFPARAM (PARAM_SSP_BUFFER_SIZE, |
276 |
"ssp-buffer-size", |
277 |
"The lower bound for a buffer to be considered for stack smashing protection", |
278 |
- 8, 1, 0) |
279 |
+ 4, 1, 0) |
280 |
|
281 |
/* When we thread through a block we have to make copies of the |
282 |
statements within the block. Clearly for large blocks the code |
283 |
|
284 |
|
285 |
|
286 |
1.1 src/patchsets/gcc/4.9.0/gentoo/10_all_default-fortify-source.patch |
287 |
|
288 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/10_all_default-fortify-source.patch?rev=1.1&view=markup |
289 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/10_all_default-fortify-source.patch?rev=1.1&content-type=text/plain |
290 |
|
291 |
Index: 10_all_default-fortify-source.patch |
292 |
=================================================================== |
293 |
Enable -D_FORTIFY_SOURCE=2 by default. |
294 |
|
295 |
|
296 |
--- a/gcc/c-family/c-cppbuiltin.c |
297 |
+++ b/gcc/c-family/c-cppbuiltin.c |
298 |
@@ -951,6 +951,9 @@ c_cpp_builtins (cpp_reader *pfile) |
299 |
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0); |
300 |
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0); |
301 |
|
302 |
+ /* Fortify Source enabled by default w/optimization. */ |
303 |
+ cpp_define (pfile, "_FORTIFY_SOURCE=((defined __OPTIMIZE__ && __OPTIMIZE__ > 0) ? 2 : 0)"); |
304 |
+ |
305 |
/* Misc. */ |
306 |
if (flag_gnu89_inline) |
307 |
cpp_define (pfile, "__GNUC_GNU_INLINE__"); |
308 |
--- a/gcc/doc/gcc.info |
309 |
+++ b/gcc/doc/gcc.info |
310 |
@@ -6255,6 +6255,11 @@ find out the exact set of optimizations that are enabled at each level. |
311 |
Please note the warning under '-fgcse' about invoking '-O2' on |
312 |
programs that use computed gotos. |
313 |
|
314 |
+ NOTE: In Gentoo, `-D_FORTIFY_SOURCE=2' is set by default, and is |
315 |
+ activated when `-O' is set to 2 or higher. This enables additional |
316 |
+ compile-time and run-time checks for several libc functions. To disable, |
317 |
+ specify either `-U_FORTIFY_SOURCE' or `-D_FORTIFY_SOURCE=0'. |
318 |
+ |
319 |
'-O3' |
320 |
Optimize yet more. '-O3' turns on all optimizations specified by |
321 |
'-O2' and also turns on the '-finline-functions', |
322 |
|
323 |
|
324 |
|
325 |
1.1 src/patchsets/gcc/4.9.0/gentoo/11_all_default-warn-format-security.patch |
326 |
|
327 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/11_all_default-warn-format-security.patch?rev=1.1&view=markup |
328 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/11_all_default-warn-format-security.patch?rev=1.1&content-type=text/plain |
329 |
|
330 |
Index: 11_all_default-warn-format-security.patch |
331 |
=================================================================== |
332 |
Enable -Wformat and -Wformat-security by default. |
333 |
|
334 |
|
335 |
--- a/gcc/c-family/c.opt |
336 |
+++ b/gcc/c-family/c.opt |
337 |
@@ -412,7 +412,7 @@ C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning LangEnabledBy(C ObjC C++ O |
338 |
Warn about format strings that are not literals |
339 |
|
340 |
Wformat-security |
341 |
-C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0) |
342 |
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0) |
343 |
Warn about possible security problems with format functions |
344 |
|
345 |
Wformat-y2k |
346 |
@@ -424,7 +424,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++ |
347 |
Warn about zero-length formats |
348 |
|
349 |
Wformat= |
350 |
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) |
351 |
+C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) |
352 |
Warn about printf/scanf/strftime/strfmon format string anomalies |
353 |
|
354 |
Wignored-qualifiers |
355 |
--- a/gcc/doc/gcc.info |
356 |
+++ b/gcc/doc/gcc.info |
357 |
@@ -3451,6 +3451,8 @@ compiler warns that an unrecognized option is present. |
358 |
'-Wno-format-contains-nul', '-Wno-format-extra-args', and |
359 |
'-Wno-format-zero-length'. '-Wformat' is enabled by '-Wall'. |
360 |
|
361 |
+ This option is enabled by default in Gentoo. |
362 |
+ |
363 |
'-Wno-format-contains-nul' |
364 |
If '-Wformat' is specified, do not warn about format strings |
365 |
that contain NUL bytes. |
366 |
@@ -3496,6 +3498,8 @@ compiler warns that an unrecognized option is present. |
367 |
future warnings may be added to '-Wformat-security' that are |
368 |
not included in '-Wformat-nonliteral'.) |
369 |
|
370 |
+ This option is enabled by default in Gentoo. |
371 |
+ |
372 |
'-Wformat-y2k' |
373 |
If '-Wformat' is specified, also warn about 'strftime' formats |
374 |
that may yield only a two-digit year. |
375 |
|
376 |
|
377 |
|
378 |
1.1 src/patchsets/gcc/4.9.0/gentoo/12_all_default-warn-trampolines.patch |
379 |
|
380 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/12_all_default-warn-trampolines.patch?rev=1.1&view=markup |
381 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/12_all_default-warn-trampolines.patch?rev=1.1&content-type=text/plain |
382 |
|
383 |
Index: 12_all_default-warn-trampolines.patch |
384 |
=================================================================== |
385 |
Enable -Wtrampolines by default. |
386 |
|
387 |
|
388 |
--- a/gcc/common.opt |
389 |
+++ b/gcc/common.opt |
390 |
@@ -648,7 +648,7 @@ Common Var(warn_system_headers) Warning |
391 |
Do not suppress warnings from system headers |
392 |
|
393 |
Wtrampolines |
394 |
-Common Var(warn_trampolines) Warning |
395 |
+Common Var(warn_trampolines) Init(1) Warning |
396 |
Warn whenever a trampoline is generated |
397 |
|
398 |
Wtype-limits |
399 |
--- a/gcc/doc/gcc.info |
400 |
+++ b/gcc/doc/gcc.info |
401 |
@@ -4021,6 +4021,8 @@ compiler warns that an unrecognized option is present. |
402 |
and thus requires the stack to be made executable in order for the |
403 |
program to work properly. |
404 |
|
405 |
+ This warning is enabled by default in Gentoo. |
406 |
+ |
407 |
'-Wfloat-equal' |
408 |
Warn if floating-point values are used in equality comparisons. |
409 |
|
410 |
|
411 |
|
412 |
|
413 |
1.1 src/patchsets/gcc/4.9.0/gentoo/15_all_libgfortran-Werror.patch |
414 |
|
415 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/15_all_libgfortran-Werror.patch?rev=1.1&view=markup |
416 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/15_all_libgfortran-Werror.patch?rev=1.1&content-type=text/plain |
417 |
|
418 |
Index: 15_all_libgfortran-Werror.patch |
419 |
=================================================================== |
420 |
libgfortran does not respect --disable-werror |
421 |
|
422 |
https://bugs.gentoo.org/433435 |
423 |
http://gcc.gnu.org/PR54724 |
424 |
|
425 |
|
426 |
--- a/libgfortran/configure |
427 |
+++ b/libgfortran/configure |
428 |
@@ -5764,7 +5764,7 @@ fi |
429 |
|
430 |
# Add -Wall -fno-repack-arrays -fno-underscoring if we are using GCC. |
431 |
if test "x$GCC" = "xyes"; then |
432 |
- AM_FCFLAGS="-I . -Wall -Werror -fimplicit-none -fno-repack-arrays -fno-underscoring" |
433 |
+ AM_FCFLAGS="-I . -Wall -fimplicit-none -fno-repack-arrays -fno-underscoring" |
434 |
## We like to use C99 routines when available. This makes sure that |
435 |
## __STDC_VERSION__ is set such that libc includes make them available. |
436 |
AM_CFLAGS="-std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings" |
437 |
|
438 |
|
439 |
|
440 |
1.1 src/patchsets/gcc/4.9.0/gentoo/16_all_libgomp-Werror.patch |
441 |
|
442 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/16_all_libgomp-Werror.patch?rev=1.1&view=markup |
443 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/16_all_libgomp-Werror.patch?rev=1.1&content-type=text/plain |
444 |
|
445 |
Index: 16_all_libgomp-Werror.patch |
446 |
=================================================================== |
447 |
libgomp does not respect --disable-werror |
448 |
|
449 |
https://bugs.gentoo.org/229059 |
450 |
http://gcc.gnu.org/PR38436 |
451 |
|
452 |
|
453 |
--- a/libgomp/configure |
454 |
+++ b/libgomp/configure |
455 |
@@ -4282,7 +4282,7 @@ save_CFLAGS="$CFLAGS" |
456 |
|
457 |
# Add -Wall -Werror if we are using GCC. |
458 |
if test "x$GCC" = "xyes"; then |
459 |
- XCFLAGS="$XCFLAGS -Wall -Werror" |
460 |
+ XCFLAGS="$XCFLAGS -Wall" |
461 |
fi |
462 |
|
463 |
# Find other programs we need. |
464 |
|
465 |
|
466 |
|
467 |
1.1 src/patchsets/gcc/4.9.0/gentoo/17_all_libitm-Werror.patch |
468 |
|
469 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/17_all_libitm-Werror.patch?rev=1.1&view=markup |
470 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/17_all_libitm-Werror.patch?rev=1.1&content-type=text/plain |
471 |
|
472 |
Index: 17_all_libitm-Werror.patch |
473 |
=================================================================== |
474 |
Add --enable-werror. |
475 |
|
476 |
https://bugs.gentoo.org/475350 |
477 |
|
478 |
|
479 |
2013-06-30 Ryan Hill <dirtyepic@g.o> |
480 |
|
481 |
* configure.ac: Add --enable-werror. |
482 |
(XCFLAGS): Use it. |
483 |
* configure: Regenerate. |
484 |
|
485 |
--- a/libitm/configure.ac |
486 |
+++ b/libitm/configure.ac |
487 |
@@ -252,9 +252,15 @@ GCC_CHECK_ELF_STYLE_WEAKREF |
488 |
CFLAGS="$save_CFLAGS" |
489 |
AC_CACHE_SAVE |
490 |
|
491 |
-# Add -Wall -Werror if we are using GCC. |
492 |
+AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror], |
493 |
+ [turns on -Werror @<:@default=yes@:>@])]) |
494 |
+# Add -Wall if we are using GCC. |
495 |
if test "x$GCC" = "xyes"; then |
496 |
- XCFLAGS="$XCFLAGS -Wall -Werror" |
497 |
+ XCFLAGS="$XCFLAGS -Wall" |
498 |
+ # Add -Werror if requested. |
499 |
+ if test "x$enable_werror" != "xno"; then |
500 |
+ XCFLAGS="$XCFLAGS -Werror" |
501 |
+ fi |
502 |
fi |
503 |
|
504 |
XCFLAGS="$XCFLAGS $XPCFLAGS" |
505 |
--- a/libitm/configure |
506 |
+++ b/libitm/configure |
507 |
@@ -775,6 +775,7 @@ enable_maintainer_mode |
508 |
enable_linux_futex |
509 |
enable_tls |
510 |
enable_symvers |
511 |
+enable_werror |
512 |
' |
513 |
ac_precious_vars='build_alias |
514 |
host_alias |
515 |
@@ -1423,6 +1424,7 @@ Optional Features: |
516 |
--enable-tls Use thread-local storage [default=yes] |
517 |
--enable-symvers=STYLE enables symbol versioning of the shared library |
518 |
[default=yes] |
519 |
+ --enable-werror turns on -Werror [default=yes] |
520 |
|
521 |
Optional Packages: |
522 |
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] |
523 |
@@ -17491,9 +17493,18 @@ $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} |
524 |
fi |
525 |
rm -f confcache |
526 |
|
527 |
-# Add -Wall -Werror if we are using GCC. |
528 |
+# Check whether --enable-werror was given. |
529 |
+if test "${enable_werror+set}" = set; then : |
530 |
+ enableval=$enable_werror; |
531 |
+fi |
532 |
+ |
533 |
+# Add -Wall if we are using GCC. |
534 |
if test "x$GCC" = "xyes"; then |
535 |
- XCFLAGS="$XCFLAGS -Wall -Werror" |
536 |
+ XCFLAGS="$XCFLAGS -Wall" |
537 |
+ # Add -Werror if requested. |
538 |
+ if test "x$enable_werror" != "xno"; then |
539 |
+ XCFLAGS="$XCFLAGS -Werror" |
540 |
+ fi |
541 |
fi |
542 |
|
543 |
XCFLAGS="$XCFLAGS $XPCFLAGS" |
544 |
|
545 |
|
546 |
|
547 |
1.1 src/patchsets/gcc/4.9.0/gentoo/18_all_libatomic-Werror.patch |
548 |
|
549 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/18_all_libatomic-Werror.patch?rev=1.1&view=markup |
550 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/18_all_libatomic-Werror.patch?rev=1.1&content-type=text/plain |
551 |
|
552 |
Index: 18_all_libatomic-Werror.patch |
553 |
=================================================================== |
554 |
Add --enable-werror. |
555 |
|
556 |
https://bugs.gentoo.org/475350 |
557 |
|
558 |
|
559 |
2013-06-30 Ryan Hill <dirtyepic@g.o> |
560 |
|
561 |
* configure.ac: Add --enable-werror. |
562 |
(XCFLAGS): Use it. |
563 |
* configure: Regenerate. |
564 |
|
565 |
--- a/libatomic/configure.ac |
566 |
+++ b/libatomic/configure.ac |
567 |
@@ -226,9 +226,15 @@ LIBAT_ENABLE_SYMVERS |
568 |
CFLAGS="$save_CFLAGS" |
569 |
AC_CACHE_SAVE |
570 |
|
571 |
-# Add -Wall -Werror if we are using GCC. |
572 |
+AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror], |
573 |
+ [turns on -Werror @<:@default=yes@:>@])]) |
574 |
+# Add -Wall if we are using GCC. |
575 |
if test "x$GCC" = "xyes"; then |
576 |
- XCFLAGS="$XCFLAGS -Wall -Werror" |
577 |
+ XCFLAGS="$XCFLAGS -Wall" |
578 |
+ # Add -Werror if requested. |
579 |
+ if test "x$enable_werror" != "xno"; then |
580 |
+ XCFLAGS="$XCFLAGS -Werror" |
581 |
+ fi |
582 |
fi |
583 |
|
584 |
XCFLAGS="$XCFLAGS $XPCFLAGS" |
585 |
--- a/libatomic/configure |
586 |
+++ b/libatomic/configure |
587 |
@@ -761,6 +761,7 @@ with_gnu_ld |
588 |
enable_libtool_lock |
589 |
enable_maintainer_mode |
590 |
enable_symvers |
591 |
+enable_werror |
592 |
' |
593 |
ac_precious_vars='build_alias |
594 |
host_alias |
595 |
@@ -1406,6 +1407,7 @@ Optional Features: |
596 |
(and sometimes confusing) to the casual installer |
597 |
--enable-symvers=STYLE enables symbol versioning of the shared library |
598 |
[default=yes] |
599 |
+ --enable-werror turns on -Werror [default=yes] |
600 |
|
601 |
Optional Packages: |
602 |
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] |
603 |
@@ -15071,9 +15073,18 @@ $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} |
604 |
fi |
605 |
rm -f confcache |
606 |
|
607 |
-# Add -Wall -Werror if we are using GCC. |
608 |
+# Check whether --enable-werror was given. |
609 |
+if test "${enable_werror+set}" = set; then : |
610 |
+ enableval=$enable_werror; |
611 |
+fi |
612 |
+ |
613 |
+# Add -Wall if we are using GCC. |
614 |
if test "x$GCC" = "xyes"; then |
615 |
- XCFLAGS="$XCFLAGS -Wall -Werror" |
616 |
+ XCFLAGS="$XCFLAGS -Wall" |
617 |
+ # Add -Werror if requested. |
618 |
+ if test "x$enable_werror" != "xno"; then |
619 |
+ XCFLAGS="$XCFLAGS -Werror" |
620 |
+ fi |
621 |
fi |
622 |
|
623 |
XCFLAGS="$XCFLAGS $XPCFLAGS" |
624 |
|
625 |
|
626 |
|
627 |
1.1 src/patchsets/gcc/4.9.0/gentoo/19_all_libbacktrace-Werror.patch |
628 |
|
629 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/19_all_libbacktrace-Werror.patch?rev=1.1&view=markup |
630 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/19_all_libbacktrace-Werror.patch?rev=1.1&content-type=text/plain |
631 |
|
632 |
Index: 19_all_libbacktrace-Werror.patch |
633 |
=================================================================== |
634 |
add a --enable-werror flag |
635 |
|
636 |
2014-01-03 Mike Frysinger <vapier@g.o> |
637 |
|
638 |
* configure.ac: Add --enable-werror. |
639 |
(WARN_FLAGS): Use it. |
640 |
* configure: Regenerate. |
641 |
|
642 |
|
643 |
--- a/libbacktrace/configure.ac |
644 |
+++ b/libbacktrace/configure.ac |
645 |
@@ -132,8 +132,13 @@ ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \ |
646 |
-Wmissing-format-attribute -Wcast-qual], |
647 |
[WARN_FLAGS]) |
648 |
|
649 |
+AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror], |
650 |
+ [turns on -Werror @<:@default=yes@:>@])]) |
651 |
+ |
652 |
if test -n "${with_target_subdir}"; then |
653 |
- WARN_FLAGS="$WARN_FLAGS -Werror" |
654 |
+ if test "x$enable_werror" != "xno"; then |
655 |
+ WARN_FLAGS="$WARN_FLAGS -Werror" |
656 |
+ fi |
657 |
fi |
658 |
|
659 |
AC_SUBST(WARN_FLAGS) |
660 |
--- a/libbacktrace/configure |
661 |
+++ b/libbacktrace/configure |
662 |
@@ -730,6 +730,7 @@ enable_fast_install |
663 |
with_gnu_ld |
664 |
enable_libtool_lock |
665 |
enable_multilib |
666 |
+enable_werror |
667 |
with_system_libunwind |
668 |
enable_host_shared |
669 |
' |
670 |
@@ -1370,6 +1371,7 @@ Optional Features: |
671 |
optimize for fast installation [default=yes] |
672 |
--disable-libtool-lock avoid locking (might break parallel builds) |
673 |
--enable-multilib build many library versions (default) |
674 |
+ --enable-werror turns on -Werror [default=yes] |
675 |
--enable-host-shared build host code as shared libraries |
676 |
|
677 |
Optional Packages: |
678 |
@@ -11614,8 +11616,16 @@ fi |
679 |
CFLAGS="$save_CFLAGS" |
680 |
|
681 |
|
682 |
+# Check whether --enable-werror was given. |
683 |
+if test "${enable_werror+set}" = set; then : |
684 |
+ enableval=$enable_werror; |
685 |
+fi |
686 |
+ |
687 |
+ |
688 |
if test -n "${with_target_subdir}"; then |
689 |
- WARN_FLAGS="$WARN_FLAGS -Werror" |
690 |
+ if test "x$enable_werror" != "xno"; then |
691 |
+ WARN_FLAGS="$WARN_FLAGS -Werror" |
692 |
+ fi |
693 |
fi |
694 |
|
695 |
|
696 |
|
697 |
|
698 |
|
699 |
1.1 src/patchsets/gcc/4.9.0/gentoo/25_all_alpha-mieee-default.patch |
700 |
|
701 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/25_all_alpha-mieee-default.patch?rev=1.1&view=markup |
702 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/25_all_alpha-mieee-default.patch?rev=1.1&content-type=text/plain |
703 |
|
704 |
Index: 25_all_alpha-mieee-default.patch |
705 |
=================================================================== |
706 |
Set the default behavior on alpha to use -mieee since the large majority of |
707 |
time we want this (bad/weird things can happen with packages built without |
708 |
it). |
709 |
|
710 |
To satisfy those people who may not want -mieee forced on them all the time, |
711 |
we also provide -mno-ieee. |
712 |
|
713 |
Patch by Mike Frysinger <vapier@g.o> |
714 |
|
715 |
--- a/gcc/config/alpha/alpha.h |
716 |
+++ b/gcc/config/alpha/alpha.h |
717 |
@@ -96,6 +96,8 @@ along with GCC; see the file COPYING3. If not see |
718 |
while (0) |
719 |
#endif |
720 |
|
721 |
+#define CPP_SPEC "%{!no-ieee:-mieee}" |
722 |
+ |
723 |
/* Run-time compilation parameters selecting different hardware subsets. */ |
724 |
|
725 |
/* Which processor to schedule for. The cpu attribute defines a list that |
726 |
--- a/gcc/config/alpha/alpha.opt |
727 |
+++ b/gcc/config/alpha/alpha.opt |
728 |
@@ -39,7 +39,7 @@ Target RejectNegative Mask(IEEE_CONFORMANT) |
729 |
Request IEEE-conformant math library routines (OSF/1) |
730 |
|
731 |
mieee |
732 |
-Target Report RejectNegative Mask(IEEE) |
733 |
+Target Report Mask(IEEE) |
734 |
Emit IEEE-conformant code, without inexact exceptions |
735 |
|
736 |
mieee-with-inexact |
737 |
|
738 |
|
739 |
|
740 |
1.1 src/patchsets/gcc/4.9.0/gentoo/26_all_alpha-asm-mcpu.patch |
741 |
|
742 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/26_all_alpha-asm-mcpu.patch?rev=1.1&view=markup |
743 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/26_all_alpha-asm-mcpu.patch?rev=1.1&content-type=text/plain |
744 |
|
745 |
Index: 26_all_alpha-asm-mcpu.patch |
746 |
=================================================================== |
747 |
https://bugs.gentoo.org/170146 |
748 |
http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00403.html |
749 |
|
750 |
alpha: turn -mcpu=<cpu> into -m<cpu> for assembler all the time |
751 |
|
752 |
--- a/gcc/config/alpha/elf.h |
753 |
+++ b/gcc/config/alpha/elf.h |
754 |
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see |
755 |
#define CC1_SPEC "%{G*}" |
756 |
|
757 |
#undef ASM_SPEC |
758 |
-#define ASM_SPEC "%{G*} %{relax:-relax} %{!gstabs*:-no-mdebug}%{gstabs*:-mdebug}" |
759 |
+#define ASM_SPEC "%{G*} %{relax:-relax} %{!gstabs*:-no-mdebug}%{gstabs*:-mdebug} %{mcpu=*:-m%*}" |
760 |
|
761 |
#undef IDENT_ASM_OP |
762 |
#define IDENT_ASM_OP "\t.ident\t" |
763 |
|
764 |
|
765 |
|
766 |
1.1 src/patchsets/gcc/4.9.0/gentoo/29_all_arm_armv4t-default.patch |
767 |
|
768 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/29_all_arm_armv4t-default.patch?rev=1.1&view=markup |
769 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/29_all_arm_armv4t-default.patch?rev=1.1&content-type=text/plain |
770 |
|
771 |
Index: 29_all_arm_armv4t-default.patch |
772 |
=================================================================== |
773 |
gcc defaults to armv5t for all targets even armv4t |
774 |
|
775 |
http://sourceware.org/ml/crossgcc/2008-05/msg00009.html |
776 |
|
777 |
|
778 |
--- a/gcc/config/arm/linux-eabi.h |
779 |
+++ b/gcc/config/arm/linux-eabi.h |
780 |
@@ -45,7 +45,7 @@ |
781 |
The ARM10TDMI core is the default for armv5t, so set |
782 |
SUBTARGET_CPU_DEFAULT to achieve this. */ |
783 |
#undef SUBTARGET_CPU_DEFAULT |
784 |
-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi |
785 |
+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi |
786 |
|
787 |
/* TARGET_BIG_ENDIAN_DEFAULT is set in |
788 |
config.gcc for big endian configurations. */ |
789 |
|
790 |
|
791 |
|
792 |
1.1 src/patchsets/gcc/4.9.0/gentoo/34_all_ia64_note.GNU-stack.patch |
793 |
|
794 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/34_all_ia64_note.GNU-stack.patch?rev=1.1&view=markup |
795 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/34_all_ia64_note.GNU-stack.patch?rev=1.1&content-type=text/plain |
796 |
|
797 |
Index: 34_all_ia64_note.GNU-stack.patch |
798 |
=================================================================== |
799 |
http://gcc.gnu.org/PR21098 |
800 |
|
801 |
|
802 |
2004-09-20 Jakub Jelinek <jakub@××××××.com> |
803 |
|
804 |
* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also |
805 |
on ppc64-linux. |
806 |
|
807 |
* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on |
808 |
ia64-linux. |
809 |
* config/ia64/crtbegin.asm: Likewise. |
810 |
* config/ia64/crtend.asm: Likewise. |
811 |
* config/ia64/crti.asm: Likewise. |
812 |
* config/ia64/crtn.asm: Likewise. |
813 |
|
814 |
2004-05-14 Jakub Jelinek <jakub@××××××.com> |
815 |
|
816 |
* config/ia64/linux.h (TARGET_ASM_FILE_END): Define. |
817 |
|
818 |
|
819 |
--- a/gcc/config/ia64/linux.h |
820 |
+++ b/gcc/config/ia64/linux.h |
821 |
@@ -24,6 +24,8 @@ a copy of the GCC Runtime Library Exception along with this program; |
822 |
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
823 |
<http://www.gnu.org/licenses/>. */ |
824 |
|
825 |
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack |
826 |
+ |
827 |
/* This is for -profile to use -lc_p instead of -lc. */ |
828 |
#undef CC1_SPEC |
829 |
#define CC1_SPEC "%{profile:-p} %{G*}" |
830 |
--- a/gcc/config/rs6000/ppc-asm.h |
831 |
+++ b/gcc/config/rs6000/ppc-asm.h |
832 |
@@ -352,7 +352,7 @@ GLUE(.L,name): \ |
833 |
#endif |
834 |
#endif |
835 |
|
836 |
-#if defined __linux__ && !defined __powerpc64__ |
837 |
+#if defined __linux__ |
838 |
.section .note.GNU-stack |
839 |
.previous |
840 |
#endif |
841 |
--- a/libgcc/config/ia64/crtbegin.S |
842 |
+++ b/libgcc/config/ia64/crtbegin.S |
843 |
@@ -252,3 +252,7 @@ __do_jv_register_classes: |
844 |
.weak __cxa_finalize |
845 |
#endif |
846 |
.weak _Jv_RegisterClasses |
847 |
+ |
848 |
+#ifdef __linux__ |
849 |
+.section .note.GNU-stack; .previous |
850 |
+#endif |
851 |
--- a/libgcc/config/ia64/crtend.S |
852 |
+++ b/libgcc/config/ia64/crtend.S |
853 |
@@ -119,3 +119,6 @@ __do_global_ctors_aux: |
854 |
|
855 |
br.ret.sptk.many rp |
856 |
.endp __do_global_ctors_aux |
857 |
+#ifdef __linux__ |
858 |
+.section .note.GNU-stack; .previous |
859 |
+#endif |
860 |
--- a/libgcc/config/ia64/crti.S |
861 |
+++ b/libgcc/config/ia64/crti.S |
862 |
@@ -49,5 +49,8 @@ _fini: |
863 |
.save rp, r33 |
864 |
mov r33 = b0 |
865 |
.body |
866 |
+#ifdef __linux__ |
867 |
+.section .note.GNU-stack; .previous |
868 |
+#endif |
869 |
|
870 |
# end of crti.S |
871 |
--- a/libgcc/config/ia64/crtn.S |
872 |
+++ b/libgcc/config/ia64/crtn.S |
873 |
@@ -39,5 +39,8 @@ |
874 |
.restore sp |
875 |
mov r12 = r35 |
876 |
br.ret.sptk.many b0 |
877 |
+#ifdef __linux__ |
878 |
+.section .note.GNU-stack; .previous |
879 |
+#endif |
880 |
|
881 |
# end of crtn.S |
882 |
--- a/libgcc/config/ia64/lib1funcs.S |
883 |
+++ b/libgcc/config/ia64/lib1funcs.S |
884 |
@@ -793,3 +793,6 @@ __floattitf: |
885 |
.endp __floattitf |
886 |
#endif |
887 |
#endif |
888 |
+#ifdef __linux__ |
889 |
+.section .note.GNU-stack; .previous |
890 |
+#endif |
891 |
|
892 |
|
893 |
|
894 |
1.1 src/patchsets/gcc/4.9.0/gentoo/38_all_sh_pr24836_all-archs.patch |
895 |
|
896 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/38_all_sh_pr24836_all-archs.patch?rev=1.1&view=markup |
897 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/38_all_sh_pr24836_all-archs.patch?rev=1.1&content-type=text/plain |
898 |
|
899 |
Index: 38_all_sh_pr24836_all-archs.patch |
900 |
=================================================================== |
901 |
gcc/configure doesn't handle all possible SH architectures |
902 |
|
903 |
http://gcc.gnu.org/PR24836 |
904 |
|
905 |
|
906 |
--- a/gcc/configure.ac |
907 |
+++ b/gcc/configure.ac |
908 |
@@ -2924,7 +2924,7 @@ foo: .long 25 |
909 |
tls_first_minor=14 |
910 |
tls_as_opt="-m64 -Aesame --fatal-warnings" |
911 |
;; |
912 |
- sh-*-* | sh[34]-*-*) |
913 |
+ sh-*-* | sh[34]*-*-*) |
914 |
conftest_s=' |
915 |
.section ".tdata","awT",@progbits |
916 |
foo: .long 25 |
917 |
--- a/gcc/configure |
918 |
+++ b/gcc/configure |
919 |
@@ -22753,7 +22753,7 @@ foo: .long 25 |
920 |
tls_first_minor=14 |
921 |
tls_as_opt="-m64 -Aesame --fatal-warnings" |
922 |
;; |
923 |
- sh-*-* | sh[34]-*-*) |
924 |
+ sh-*-* | sh[34]*-*-*) |
925 |
conftest_s=' |
926 |
.section ".tdata","awT",@progbits |
927 |
foo: .long 25 |
928 |
|
929 |
|
930 |
|
931 |
1.1 src/patchsets/gcc/4.9.0/gentoo/42_all_superh_default-multilib.patch |
932 |
|
933 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/42_all_superh_default-multilib.patch?rev=1.1&view=markup |
934 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/42_all_superh_default-multilib.patch?rev=1.1&content-type=text/plain |
935 |
|
936 |
Index: 42_all_superh_default-multilib.patch |
937 |
=================================================================== |
938 |
The gcc-3.x toolchains would contain all the targets by default. With gcc-4, |
939 |
you have to actually list out the multilibs you want or you will end up with |
940 |
just one when using targets like 'sh4-linux-gnu'. |
941 |
|
942 |
The resulting toolchain can't even build a kernel as the kernel needs to build |
943 |
with the nofpu flag to be sure that no fpu ops are generated. |
944 |
|
945 |
Here we restore the gcc-3.x behavior; the additional overhead of building all |
946 |
of these multilibs by default is negligible. |
947 |
|
948 |
https://bugs.gentoo.org/140205 |
949 |
https://bugs.gentoo.org/320251 |
950 |
|
951 |
--- a/gcc/config.gcc |
952 |
+++ b/gcc/config.gcc |
953 |
@@ -2455,7 +2455,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ |
954 |
if test "$sh_multilibs" = "default" ; then |
955 |
case ${target} in |
956 |
sh64-superh-linux* | \ |
957 |
- sh[1234]*) sh_multilibs=${sh_cpu_target} ;; |
958 |
+ sh[1234]*) sh_multilibs=$(echo $(sed -n '/^[[:space:]]*case ${sh_multilib} in/,/)/{s:case ${sh_multilib} in::;s: | *:,:g;s:[\\)]::g;p}' ${srcdir}/config.gcc) | sed 's: ::g') ;; |
959 |
sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;; |
960 |
sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; |
961 |
sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;; |
962 |
|
963 |
|
964 |
|
965 |
1.1 src/patchsets/gcc/4.9.0/gentoo/50_all_libiberty-asprintf.patch |
966 |
|
967 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/50_all_libiberty-asprintf.patch?rev=1.1&view=markup |
968 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/50_all_libiberty-asprintf.patch?rev=1.1&content-type=text/plain |
969 |
|
970 |
Index: 50_all_libiberty-asprintf.patch |
971 |
=================================================================== |
972 |
2008-07-25 Magnus Granberg <zorry@×××.nu> |
973 |
|
974 |
* include/libiberty.h (asprintf): Don't declare if defined as a macro |
975 |
|
976 |
--- a/include/libiberty.h |
977 |
+++ b/include/libiberty.h |
978 |
@@ -609,8 +609,11 @@ extern int pwait (int, int *, int); |
979 |
/* Like sprintf but provides a pointer to malloc'd storage, which must |
980 |
be freed by the caller. */ |
981 |
|
982 |
+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */ |
983 |
+#ifndef asprintf |
984 |
extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2; |
985 |
#endif |
986 |
+#endif |
987 |
|
988 |
#if !HAVE_DECL_VASPRINTF |
989 |
/* Like vsprintf but provides a pointer to malloc'd storage, which |
990 |
|
991 |
|
992 |
|
993 |
1.1 src/patchsets/gcc/4.9.0/gentoo/51_all_libiberty-pic.patch |
994 |
|
995 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/51_all_libiberty-pic.patch?rev=1.1&view=markup |
996 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/51_all_libiberty-pic.patch?rev=1.1&content-type=text/plain |
997 |
|
998 |
Index: 51_all_libiberty-pic.patch |
999 |
=================================================================== |
1000 |
--- a/libiberty/Makefile.in |
1001 |
+++ b/libiberty/Makefile.in |
1002 |
@@ -246,6 +246,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) |
1003 |
$(AR) $(AR_FLAGS) $(TARGETLIB) \ |
1004 |
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \ |
1005 |
$(RANLIB) $(TARGETLIB); \ |
1006 |
+ cp $(TARGETLIB) ../ ; \ |
1007 |
cd ..; \ |
1008 |
else true; fi |
1009 |
|
1010 |
|
1011 |
|
1012 |
|
1013 |
1.1 src/patchsets/gcc/4.9.0/gentoo/52_all_netbsd-Bsymbolic.patch |
1014 |
|
1015 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/52_all_netbsd-Bsymbolic.patch?rev=1.1&view=markup |
1016 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/52_all_netbsd-Bsymbolic.patch?rev=1.1&content-type=text/plain |
1017 |
|
1018 |
Index: 52_all_netbsd-Bsymbolic.patch |
1019 |
=================================================================== |
1020 |
https://bugs.gentoo.org/122698 |
1021 |
|
1022 |
--- a/gcc/config/netbsd-elf.h |
1023 |
+++ b/gcc/config/netbsd-elf.h |
1024 |
@@ -70,6 +70,7 @@ along with GCC; see the file COPYING3. If not see |
1025 |
#define NETBSD_LINK_SPEC_ELF \ |
1026 |
"%{assert*} %{R*} %{rpath*} \ |
1027 |
%{shared:-shared} \ |
1028 |
+ %{symbolic:-Bsymbolic} \ |
1029 |
%{!shared: \ |
1030 |
-dc -dp \ |
1031 |
%{!nostdlib: \ |
1032 |
|
1033 |
|
1034 |
|
1035 |
1.1 src/patchsets/gcc/4.9.0/gentoo/67_all_gcc-poison-system-directories.patch.updateme |
1036 |
|
1037 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/67_all_gcc-poison-system-directories.patch.updateme?rev=1.1&view=markup |
1038 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/67_all_gcc-poison-system-directories.patch.updateme?rev=1.1&content-type=text/plain |
1039 |
|
1040 |
Index: 67_all_gcc-poison-system-directories.patch.updateme |
1041 |
=================================================================== |
1042 |
grabbed from openembedded |
1043 |
|
1044 |
From 160397ef3c3331099af028f1b8d3e085b07d88ad Mon Sep 17 00:00:00 2001 |
1045 |
From: Khem Raj <raj.khem@×××××.com> |
1046 |
Date: Fri, 29 Mar 2013 08:59:00 +0400 |
1047 |
Subject: [PATCH 16/35] gcc: poison-system-directories |
1048 |
|
1049 |
Signed-off-by: Khem Raj <raj.khem@×××××.com> |
1050 |
|
1051 |
Upstream-Status: Inappropriate [distribution: codesourcery] |
1052 |
--- |
1053 |
gcc/Makefile.in | 2 +- |
1054 |
gcc/common.opt | 4 ++++ |
1055 |
gcc/config.in | 6 ++++++ |
1056 |
gcc/configure | 20 ++++++++++++++++++-- |
1057 |
gcc/configure.ac | 10 ++++++++++ |
1058 |
gcc/doc/invoke.texi | 9 +++++++++ |
1059 |
gcc/gcc.c | 2 ++ |
1060 |
gcc/incpath.c | 19 +++++++++++++++++++ |
1061 |
8 files changed, 69 insertions(+), 3 deletions(-) |
1062 |
|
1063 |
diff --git a/gcc/Makefile.in b/gcc/Makefile.in |
1064 |
index 54ea04f..90a2bba 100644 |
1065 |
--- a/gcc/Makefile.in |
1066 |
+++ b/gcc/Makefile.in |
1067 |
@@ -2018,7 +2018,7 @@ attribs.o : attribs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ |
1068 |
|
1069 |
incpath.o: incpath.c incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \ |
1070 |
intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \ |
1071 |
- $(MACHMODE_H) |
1072 |
+ $(MACHMODE_H) $(FLAGS_H) toplev.h |
1073 |
|
1074 |
CFLAGS-prefix.o += -DPREFIX=\"$(prefix)\" -DBASEVER=$(BASEVER_s) |
1075 |
prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h prefix.h \ |
1076 |
diff --git a/gcc/common.opt b/gcc/common.opt |
1077 |
index bdbd3b6..ab86b00 100644 |
1078 |
--- a/gcc/common.opt |
1079 |
+++ b/gcc/common.opt |
1080 |
@@ -595,6 +595,10 @@ Wpedantic |
1081 |
Common Var(pedantic) Warning |
1082 |
Issue warnings needed for strict compliance to the standard |
1083 |
|
1084 |
+Wpoison-system-directories |
1085 |
+Common Var(flag_poison_system_directories) Init(1) Warning |
1086 |
+Warn for -I and -L options using system directories if cross compiling |
1087 |
+ |
1088 |
Wshadow |
1089 |
Common Var(warn_shadow) Warning |
1090 |
Warn when one local variable shadows another |
1091 |
diff --git a/gcc/config.in b/gcc/config.in |
1092 |
index d80fb9f..0524af7 100644 |
1093 |
--- a/gcc/config.in |
1094 |
+++ b/gcc/config.in |
1095 |
@@ -138,6 +138,12 @@ |
1096 |
#endif |
1097 |
|
1098 |
|
1099 |
+/* Define to warn for use of native system header directories */ |
1100 |
+#ifndef USED_FOR_TARGET |
1101 |
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES |
1102 |
+#endif |
1103 |
+ |
1104 |
+ |
1105 |
/* Define if you want all operations on RTL (the basic data structure of the |
1106 |
optimizer and back end) to be checked for dynamic type safety at runtime. |
1107 |
This is quite expensive. */ |
1108 |
diff --git a/gcc/configure b/gcc/configure |
1109 |
index 135bbf5..b65d21d 100755 |
1110 |
--- a/gcc/configure |
1111 |
+++ b/gcc/configure |
1112 |
@@ -917,6 +917,7 @@ with_gc |
1113 |
with_system_zlib |
1114 |
enable_maintainer_mode |
1115 |
enable_version_specific_runtime_libs |
1116 |
+enable_poison_system_directories |
1117 |
enable_plugin |
1118 |
enable_libquadmath_support |
1119 |
with_linker_hash_style |
1120 |
@@ -1630,6 +1631,8 @@ Optional Features: |
1121 |
--enable-version-specific-runtime-libs |
1122 |
specify that runtime libraries should be installed |
1123 |
in a compiler-specific directory |
1124 |
+ --enable-poison-system-directories |
1125 |
+ warn for use of native system header directories |
1126 |
--enable-plugin enable plugin support |
1127 |
--disable-libquadmath-support |
1128 |
disable libquadmath support for Fortran |
1129 |
@@ -27103,6 +27106,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : |
1130 |
fi |
1131 |
|
1132 |
|
1133 |
+# Check whether --enable-poison-system-directories was given. |
1134 |
+if test "${enable_poison_system_directories+set}" = set; then : |
1135 |
+ enableval=$enable_poison_system_directories; |
1136 |
+else |
1137 |
+ enable_poison_system_directories=no |
1138 |
+fi |
1139 |
+ |
1140 |
+if test "x${enable_poison_system_directories}" = "xyes"; then |
1141 |
+ |
1142 |
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h |
1143 |
+ |
1144 |
+fi |
1145 |
+ |
1146 |
# Substitute configuration variables |
1147 |
|
1148 |
|
1149 |
diff --git a/gcc/configure.ac b/gcc/configure.ac |
1150 |
index 6363a21..e226b85 100644 |
1151 |
--- a/gcc/configure.ac |
1152 |
+++ b/gcc/configure.ac |
1153 |
@@ -5063,6 +5063,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs, |
1154 |
[specify that runtime libraries should be |
1155 |
installed in a compiler-specific directory])]) |
1156 |
|
1157 |
+AC_ARG_ENABLE([poison-system-directories], |
1158 |
+ AS_HELP_STRING([--enable-poison-system-directories], |
1159 |
+ [warn for use of native system header directories]),, |
1160 |
+ [enable_poison_system_directories=no]) |
1161 |
+if test "x${enable_poison_system_directories}" = "xyes"; then |
1162 |
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], |
1163 |
+ [1], |
1164 |
+ [Define to warn for use of native system header directories]) |
1165 |
+fi |
1166 |
+ |
1167 |
# Substitute configuration variables |
1168 |
AC_SUBST(subdirs) |
1169 |
AC_SUBST(srcdir) |
1170 |
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi |
1171 |
index 9273d7d..a022622 100644 |
1172 |
--- a/gcc/doc/invoke.texi |
1173 |
+++ b/gcc/doc/invoke.texi |
1174 |
@@ -258,6 +258,7 @@ Objective-C and Objective-C++ Dialects}. |
1175 |
-Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded @gol |
1176 |
-Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format @gol |
1177 |
-Wpointer-arith -Wno-pointer-to-int-cast @gol |
1178 |
+-Wno-poison-system-directories @gol |
1179 |
-Wredundant-decls -Wno-return-local-addr @gol |
1180 |
-Wreturn-type -Wsequence-point -Wshadow @gol |
1181 |
-Wsign-compare -Wsign-conversion -Wsizeof-pointer-memaccess @gol |
1182 |
@@ -4007,6 +4008,14 @@ headers---for that, @option{-Wunknown-pragmas} must also be used. |
1183 |
for most targets, it is made up of code and thus requires the stack |
1184 |
to be made executable in order for the program to work properly. |
1185 |
|
1186 |
+@item -Wno-poison-system-directories |
1187 |
+@opindex Wno-poison-system-directories |
1188 |
+Do not warn for @option{-I} or @option{-L} options using system |
1189 |
+directories such as @file{/usr/include} when cross compiling. This |
1190 |
+option is intended for use in chroot environments when such |
1191 |
+directories contain the correct headers and libraries for the target |
1192 |
+system rather than the host. |
1193 |
+ |
1194 |
@item -Wfloat-equal |
1195 |
@opindex Wfloat-equal |
1196 |
@opindex Wno-float-equal |
1197 |
diff --git a/gcc/gcc.c b/gcc/gcc.c |
1198 |
index 86077f8..efdb625 100644 |
1199 |
--- a/gcc/gcc.c |
1200 |
+++ b/gcc/gcc.c |
1201 |
@@ -740,6 +740,8 @@ proper position among the other output files. */ |
1202 |
"%{fuse-ld=*:-fuse-ld=%*}\ |
1203 |
%X %{o*} %{e*} %{N} %{n} %{r}\ |
1204 |
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}\ |
1205 |
+ %{Wno-poison-system-directories:--no-poison-system-directories}\ |
1206 |
+ %{Werror=poison-system-directories:--error-poison-system-directories}\ |
1207 |
%{static:} %{L*} %(mfwrap) %(link_libgcc) " SANITIZER_EARLY_SPEC " %o\ |
1208 |
%{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\ |
1209 |
%{fgnu-tm:%:include(libitm.spec)%(link_itm)}\ |
1210 |
diff --git a/gcc/incpath.c b/gcc/incpath.c |
1211 |
index 018da98..cd41c78 100644 |
1212 |
--- a/gcc/incpath.c |
1213 |
+++ b/gcc/incpath.c |
1214 |
@@ -28,6 +28,7 @@ |
1215 |
#include "intl.h" |
1216 |
#include "incpath.h" |
1217 |
#include "cppdefault.h" |
1218 |
+#include "diagnostic-core.h" |
1219 |
|
1220 |
/* Microsoft Windows does not natively support inodes. |
1221 |
VMS has non-numeric inodes. */ |
1222 |
@@ -382,6 +382,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) |
1223 |
} |
1224 |
fprintf (stderr, _("End of search list.\n")); |
1225 |
} |
1226 |
+ |
1227 |
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES |
1228 |
+ if (flag_poison_system_directories) |
1229 |
+ { |
1230 |
+ struct cpp_dir *p; |
1231 |
+ |
1232 |
+ for (p = heads[QUOTE]; p; p = p->next) |
1233 |
+ { |
1234 |
+ if ((!strncmp (p->name, "/usr/include", 12)) |
1235 |
+ || (!strncmp (p->name, "/usr/local/include", 18)) |
1236 |
+ || (!strncmp (p->name, "/usr/X11R6/include", 18)) |
1237 |
+ || (!strncmp (p->name, "/sw/include", 11)) |
1238 |
+ || (!strncmp (p->name, "/opt/include", 12))) |
1239 |
+ warning (OPT_Wpoison_system_directories, |
1240 |
+ "include location \"%s\" is unsafe for " |
1241 |
+ "cross-compilation", |
1242 |
+ p->name); |
1243 |
+ } |
1244 |
+ } |
1245 |
+#endif |
1246 |
} |
1247 |
|
1248 |
/* Use given -I paths for #include "..." but not #include <...>, and |
1249 |
|
1250 |
|
1251 |
|
1252 |
1.1 src/patchsets/gcc/4.9.0/gentoo/74_all_gcc49_cloog-dl.patch |
1253 |
|
1254 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/74_all_gcc49_cloog-dl.patch?rev=1.1&view=markup |
1255 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/74_all_gcc49_cloog-dl.patch?rev=1.1&content-type=text/plain |
1256 |
|
1257 |
Index: 74_all_gcc49_cloog-dl.patch |
1258 |
=================================================================== |
1259 |
dlopen cloog-isl library rather than link to it directly. This prevents |
1260 |
cloog upgrades that change the soname from breaking the compiler. |
1261 |
|
1262 |
http://pkgs.fedoraproject.org/cgit/gcc.git/tree/gcc49-cloog-dl.patch |
1263 |
|
1264 |
|
1265 |
In FreeBSD dlopen is part of libc so we can't just hardcode -ldl. |
1266 |
|
1267 |
2014-04-30 Ryan Hill <rhill@g.o> |
1268 |
|
1269 |
* configure.ac (DL_LIB): Set to ac_cv_search_dlopen. |
1270 |
* configure: Regenerate. |
1271 |
* Makefile.in (BACKENDLIBS): Use DL_LIB. |
1272 |
|
1273 |
|
1274 |
--- a/gcc/Makefile.in |
1275 |
+++ b/gcc/Makefile.in |
1276 |
@@ -1006,7 +1006,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) |
1277 |
# and the system's installed libraries. |
1278 |
LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \ |
1279 |
$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS) |
1280 |
-BACKENDLIBS = $(CLOOGLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ |
1281 |
+BACKENDLIBS = $(if $(CLOOGLIBS),@DL_LIB@) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ |
1282 |
$(ZLIB) |
1283 |
# Any system libraries needed just for GNAT. |
1284 |
SYSLIBS = @GNAT_LIBEXC@ |
1285 |
@@ -2011,6 +2011,15 @@ $(out_object_file): $(out_file) |
1286 |
$(common_out_object_file): $(common_out_file) |
1287 |
$(COMPILE) $< |
1288 |
$(POSTCOMPILE) |
1289 |
+ |
1290 |
+graphite%.o : \ |
1291 |
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) |
1292 |
+graphite.o : \ |
1293 |
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) |
1294 |
+graphite%.o : \ |
1295 |
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) |
1296 |
+graphite.o : \ |
1297 |
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS)) |
1298 |
# |
1299 |
# Generate header and source files from the machine description, |
1300 |
# and compile them. |
1301 |
--- a/gcc/configure.ac |
1302 |
+++ b/gcc/configure.ac |
1303 |
@@ -5515,12 +5515,15 @@ if test x"$enable_plugin" = x"yes"; then |
1304 |
fi |
1305 |
|
1306 |
# Check -ldl |
1307 |
+ DL_LIB= |
1308 |
saved_LIBS="$LIBS" |
1309 |
AC_SEARCH_LIBS([dlopen], [dl]) |
1310 |
if test x"$ac_cv_search_dlopen" = x"-ldl"; then |
1311 |
pluginlibs="$pluginlibs -ldl" |
1312 |
+ DL_LIB=$ac_cv_search_dlopen |
1313 |
fi |
1314 |
LIBS="$saved_LIBS" |
1315 |
+ AC_SUBST(DL_LIB) |
1316 |
|
1317 |
# Check that we can build shared objects with -fPIC -shared |
1318 |
saved_LDFLAGS="$LDFLAGS" |
1319 |
--- a/gcc/configure |
1320 |
+++ b/gcc/configure |
1321 |
@@ -604,6 +604,7 @@ PICFLAG |
1322 |
enable_host_shared |
1323 |
enable_plugin |
1324 |
pluginlibs |
1325 |
+DL_LIB |
1326 |
CLOOGINC |
1327 |
CLOOGLIBS |
1328 |
ISLINC |
1329 |
@@ -27862,6 +27863,7 @@ $as_echo "unable to check" >&6; } |
1330 |
fi |
1331 |
|
1332 |
# Check -ldl |
1333 |
+ DL_LIB= |
1334 |
saved_LIBS="$LIBS" |
1335 |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 |
1336 |
$as_echo_n "checking for library containing dlopen... " >&6; } |
1337 |
@@ -27921,9 +27923,11 @@ fi |
1338 |
|
1339 |
if test x"$ac_cv_search_dlopen" = x"-ldl"; then |
1340 |
pluginlibs="$pluginlibs -ldl" |
1341 |
+ DL_LIB=$ac_cv_search_dlopen |
1342 |
fi |
1343 |
LIBS="$saved_LIBS" |
1344 |
|
1345 |
+ |
1346 |
# Check that we can build shared objects with -fPIC -shared |
1347 |
saved_LDFLAGS="$LDFLAGS" |
1348 |
saved_CFLAGS="$CFLAGS" |
1349 |
--- a/gcc/graphite-clast-to-gimple.c |
1350 |
+++ b/gcc/graphite-clast-to-gimple.c |
1351 |
@@ -930,7 +930,7 @@ compute_bounds_for_loop (struct clast_for *loop, mpz_t low, mpz_t up) |
1352 |
from STMT_FOR. */ |
1353 |
|
1354 |
static tree |
1355 |
-type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) |
1356 |
+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip) |
1357 |
{ |
1358 |
mpz_t bound_one, bound_two; |
1359 |
tree lb_type, ub_type; |
1360 |
@@ -938,8 +938,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) |
1361 |
mpz_init (bound_one); |
1362 |
mpz_init (bound_two); |
1363 |
|
1364 |
- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two); |
1365 |
- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two); |
1366 |
+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two); |
1367 |
+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two); |
1368 |
|
1369 |
mpz_clear (bound_one); |
1370 |
mpz_clear (bound_two); |
1371 |
--- a/gcc/graphite-poly.h |
1372 |
+++ b/gcc/graphite-poly.h |
1373 |
@@ -22,6 +22,371 @@ along with GCC; see the file COPYING3. If not see |
1374 |
#ifndef GCC_GRAPHITE_POLY_H |
1375 |
#define GCC_GRAPHITE_POLY_H |
1376 |
|
1377 |
+#include <isl/aff.h> |
1378 |
+#include <isl/schedule.h> |
1379 |
+#include <isl/ilp.h> |
1380 |
+#include <isl/flow.h> |
1381 |
+#include <isl/options.h> |
1382 |
+#include <cloog/isl/cloog.h> |
1383 |
+#include <dlfcn.h> |
1384 |
+#define DYNSYMS \ |
1385 |
+ DYNSYM (clast_pprint); \ |
1386 |
+ DYNSYM (cloog_clast_create_from_input); \ |
1387 |
+ DYNSYM (cloog_clast_free); \ |
1388 |
+ DYNSYM (cloog_domain_from_isl_set); \ |
1389 |
+ DYNSYM (cloog_input_alloc); \ |
1390 |
+ DYNSYM (cloog_isl_state_malloc); \ |
1391 |
+ DYNSYM (cloog_options_free); \ |
1392 |
+ DYNSYM (cloog_options_malloc); \ |
1393 |
+ DYNSYM (cloog_scattering_from_isl_map); \ |
1394 |
+ DYNSYM (cloog_state_free); \ |
1395 |
+ DYNSYM (cloog_union_domain_add_domain); \ |
1396 |
+ DYNSYM (cloog_union_domain_alloc); \ |
1397 |
+ DYNSYM (cloog_union_domain_set_name); \ |
1398 |
+ DYNSYM (isl_aff_add_coefficient_si); \ |
1399 |
+ DYNSYM (isl_aff_add_constant); \ |
1400 |
+ DYNSYM (isl_aff_free); \ |
1401 |
+ DYNSYM (isl_aff_get_coefficient); \ |
1402 |
+ DYNSYM (isl_aff_get_space); \ |
1403 |
+ DYNSYM (isl_aff_mod); \ |
1404 |
+ DYNSYM (isl_aff_set_coefficient_si); \ |
1405 |
+ DYNSYM (isl_aff_set_constant_si); \ |
1406 |
+ DYNSYM (isl_aff_zero_on_domain); \ |
1407 |
+ DYNSYM (isl_band_free); \ |
1408 |
+ DYNSYM (isl_band_get_children); \ |
1409 |
+ DYNSYM (isl_band_get_partial_schedule); \ |
1410 |
+ DYNSYM (isl_band_has_children); \ |
1411 |
+ DYNSYM (isl_band_list_free); \ |
1412 |
+ DYNSYM (isl_band_list_get_band); \ |
1413 |
+ DYNSYM (isl_band_list_get_ctx); \ |
1414 |
+ DYNSYM (isl_band_list_n_band); \ |
1415 |
+ DYNSYM (isl_band_member_is_zero_distance); \ |
1416 |
+ DYNSYM (isl_band_n_member); \ |
1417 |
+ DYNSYM (isl_basic_map_add_constraint); \ |
1418 |
+ DYNSYM (isl_basic_map_project_out); \ |
1419 |
+ DYNSYM (isl_basic_map_universe); \ |
1420 |
+ DYNSYM (isl_constraint_set_coefficient); \ |
1421 |
+ DYNSYM (isl_constraint_set_coefficient_si); \ |
1422 |
+ DYNSYM (isl_constraint_set_constant); \ |
1423 |
+ DYNSYM (isl_constraint_set_constant_si); \ |
1424 |
+ DYNSYM (isl_ctx_alloc); \ |
1425 |
+ DYNSYM (isl_ctx_free); \ |
1426 |
+ DYNSYM (isl_equality_alloc); \ |
1427 |
+ DYNSYM (isl_id_alloc); \ |
1428 |
+ DYNSYM (isl_id_copy); \ |
1429 |
+ DYNSYM (isl_id_free); \ |
1430 |
+ DYNSYM (isl_inequality_alloc); \ |
1431 |
+ DYNSYM (isl_local_space_copy); \ |
1432 |
+ DYNSYM (isl_local_space_free); \ |
1433 |
+ DYNSYM (isl_local_space_from_space); \ |
1434 |
+ DYNSYM (isl_local_space_range); \ |
1435 |
+ DYNSYM (isl_map_add_constraint); \ |
1436 |
+ DYNSYM (isl_map_add_dims); \ |
1437 |
+ DYNSYM (isl_map_align_params); \ |
1438 |
+ DYNSYM (isl_map_apply_range); \ |
1439 |
+ DYNSYM (isl_map_copy); \ |
1440 |
+ DYNSYM (isl_map_dim); \ |
1441 |
+ DYNSYM (isl_map_dump); \ |
1442 |
+ DYNSYM (isl_map_equate); \ |
1443 |
+ DYNSYM (isl_map_fix_si); \ |
1444 |
+ DYNSYM (isl_map_flat_product); \ |
1445 |
+ DYNSYM (isl_map_flat_range_product); \ |
1446 |
+ DYNSYM (isl_map_free); \ |
1447 |
+ DYNSYM (isl_map_from_basic_map); \ |
1448 |
+ DYNSYM (isl_map_from_pw_aff); \ |
1449 |
+ DYNSYM (isl_map_from_union_map); \ |
1450 |
+ DYNSYM (isl_map_get_ctx); \ |
1451 |
+ DYNSYM (isl_map_get_space); \ |
1452 |
+ DYNSYM (isl_map_get_tuple_id); \ |
1453 |
+ DYNSYM (isl_map_insert_dims); \ |
1454 |
+ DYNSYM (isl_map_intersect); \ |
1455 |
+ DYNSYM (isl_map_intersect_domain); \ |
1456 |
+ DYNSYM (isl_map_intersect_range); \ |
1457 |
+ DYNSYM (isl_map_is_empty); \ |
1458 |
+ DYNSYM (isl_map_lex_ge); \ |
1459 |
+ DYNSYM (isl_map_lex_le); \ |
1460 |
+ DYNSYM (isl_map_n_out); \ |
1461 |
+ DYNSYM (isl_map_range); \ |
1462 |
+ DYNSYM (isl_map_set_tuple_id); \ |
1463 |
+ DYNSYM (isl_map_universe); \ |
1464 |
+ DYNSYM (isl_options_set_on_error); \ |
1465 |
+ DYNSYM (isl_options_set_schedule_fuse); \ |
1466 |
+ DYNSYM (isl_options_set_schedule_max_constant_term); \ |
1467 |
+ DYNSYM (isl_options_set_schedule_maximize_band_depth); \ |
1468 |
+ DYNSYM (isl_printer_free); \ |
1469 |
+ DYNSYM (isl_printer_print_aff); \ |
1470 |
+ DYNSYM (isl_printer_print_constraint); \ |
1471 |
+ DYNSYM (isl_printer_print_map); \ |
1472 |
+ DYNSYM (isl_printer_print_set); \ |
1473 |
+ DYNSYM (isl_printer_to_file); \ |
1474 |
+ DYNSYM (isl_pw_aff_add); \ |
1475 |
+ DYNSYM (isl_pw_aff_alloc); \ |
1476 |
+ DYNSYM (isl_pw_aff_copy); \ |
1477 |
+ DYNSYM (isl_pw_aff_eq_set); \ |
1478 |
+ DYNSYM (isl_pw_aff_free); \ |
1479 |
+ DYNSYM (isl_pw_aff_from_aff); \ |
1480 |
+ DYNSYM (isl_pw_aff_ge_set); \ |
1481 |
+ DYNSYM (isl_pw_aff_gt_set); \ |
1482 |
+ DYNSYM (isl_pw_aff_is_cst); \ |
1483 |
+ DYNSYM (isl_pw_aff_le_set); \ |
1484 |
+ DYNSYM (isl_pw_aff_lt_set); \ |
1485 |
+ DYNSYM (isl_pw_aff_mod); \ |
1486 |
+ DYNSYM (isl_pw_aff_mul); \ |
1487 |
+ DYNSYM (isl_pw_aff_ne_set); \ |
1488 |
+ DYNSYM (isl_pw_aff_nonneg_set); \ |
1489 |
+ DYNSYM (isl_pw_aff_set_tuple_id); \ |
1490 |
+ DYNSYM (isl_pw_aff_sub); \ |
1491 |
+ DYNSYM (isl_pw_aff_zero_set); \ |
1492 |
+ DYNSYM (isl_schedule_free); \ |
1493 |
+ DYNSYM (isl_schedule_get_band_forest); \ |
1494 |
+ DYNSYM (isl_set_add_constraint); \ |
1495 |
+ DYNSYM (isl_set_add_dims); \ |
1496 |
+ DYNSYM (isl_set_apply); \ |
1497 |
+ DYNSYM (isl_set_coalesce); \ |
1498 |
+ DYNSYM (isl_set_copy); \ |
1499 |
+ DYNSYM (isl_set_dim); \ |
1500 |
+ DYNSYM (isl_set_fix_si); \ |
1501 |
+ DYNSYM (isl_set_free); \ |
1502 |
+ DYNSYM (isl_set_from_cloog_domain); \ |
1503 |
+ DYNSYM (isl_set_get_space); \ |
1504 |
+ DYNSYM (isl_set_get_tuple_id); \ |
1505 |
+ DYNSYM (isl_set_intersect); \ |
1506 |
+ DYNSYM (isl_set_is_empty); \ |
1507 |
+ DYNSYM (isl_set_max); \ |
1508 |
+ DYNSYM (isl_set_min); \ |
1509 |
+ DYNSYM (isl_set_n_dim); \ |
1510 |
+ DYNSYM (isl_set_nat_universe); \ |
1511 |
+ DYNSYM (isl_set_project_out); \ |
1512 |
+ DYNSYM (isl_set_set_tuple_id); \ |
1513 |
+ DYNSYM (isl_set_universe); \ |
1514 |
+ DYNSYM (isl_space_add_dims); \ |
1515 |
+ DYNSYM (isl_space_alloc); \ |
1516 |
+ DYNSYM (isl_space_copy); \ |
1517 |
+ DYNSYM (isl_space_dim); \ |
1518 |
+ DYNSYM (isl_space_domain); \ |
1519 |
+ DYNSYM (isl_space_find_dim_by_id); \ |
1520 |
+ DYNSYM (isl_space_free); \ |
1521 |
+ DYNSYM (isl_space_from_domain); \ |
1522 |
+ DYNSYM (isl_space_get_tuple_id); \ |
1523 |
+ DYNSYM (isl_space_params_alloc); \ |
1524 |
+ DYNSYM (isl_space_range); \ |
1525 |
+ DYNSYM (isl_space_set_alloc); \ |
1526 |
+ DYNSYM (isl_space_set_dim_id); \ |
1527 |
+ DYNSYM (isl_space_set_tuple_id); \ |
1528 |
+ DYNSYM (isl_union_map_add_map); \ |
1529 |
+ DYNSYM (isl_union_map_align_params); \ |
1530 |
+ DYNSYM (isl_union_map_apply_domain); \ |
1531 |
+ DYNSYM (isl_union_map_apply_range); \ |
1532 |
+ DYNSYM (isl_union_map_compute_flow); \ |
1533 |
+ DYNSYM (isl_union_map_copy); \ |
1534 |
+ DYNSYM (isl_union_map_empty); \ |
1535 |
+ DYNSYM (isl_union_map_flat_range_product); \ |
1536 |
+ DYNSYM (isl_union_map_foreach_map); \ |
1537 |
+ DYNSYM (isl_union_map_free); \ |
1538 |
+ DYNSYM (isl_union_map_from_map); \ |
1539 |
+ DYNSYM (isl_union_map_get_ctx); \ |
1540 |
+ DYNSYM (isl_union_map_get_space); \ |
1541 |
+ DYNSYM (isl_union_map_gist_domain); \ |
1542 |
+ DYNSYM (isl_union_map_gist_range); \ |
1543 |
+ DYNSYM (isl_union_map_intersect_domain); \ |
1544 |
+ DYNSYM (isl_union_map_is_empty); \ |
1545 |
+ DYNSYM (isl_union_map_subtract); \ |
1546 |
+ DYNSYM (isl_union_map_union); \ |
1547 |
+ DYNSYM (isl_union_set_add_set); \ |
1548 |
+ DYNSYM (isl_union_set_compute_schedule); \ |
1549 |
+ DYNSYM (isl_union_set_copy); \ |
1550 |
+ DYNSYM (isl_union_set_empty); \ |
1551 |
+ DYNSYM (isl_union_set_from_set); \ |
1552 |
+ DYNSYM (stmt_ass); \ |
1553 |
+ DYNSYM (stmt_block); \ |
1554 |
+ DYNSYM (stmt_for); \ |
1555 |
+ DYNSYM (stmt_guard); \ |
1556 |
+ DYNSYM (stmt_root); \ |
1557 |
+ DYNSYM (stmt_user); |
1558 |
+extern struct cloog_pointers_s__ |
1559 |
+{ |
1560 |
+ bool inited; |
1561 |
+ void *h; |
1562 |
+#define DYNSYM(x) __typeof (x) *p_##x |
1563 |
+ DYNSYMS |
1564 |
+#undef DYNSYM |
1565 |
+} cloog_pointers__; |
1566 |
+ |
1567 |
+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) |
1568 |
+#define clast_pprint (*cloog_pointers__.p_clast_pprint) |
1569 |
+#define cloog_clast_create_from_input (*cloog_pointers__.p_cloog_clast_create_from_input) |
1570 |
+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) |
1571 |
+#define cloog_domain_from_isl_set (*cloog_pointers__.p_cloog_domain_from_isl_set) |
1572 |
+#define cloog_input_alloc (*cloog_pointers__.p_cloog_input_alloc) |
1573 |
+#define cloog_isl_state_malloc (*cloog_pointers__.p_cloog_isl_state_malloc) |
1574 |
+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) |
1575 |
+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) |
1576 |
+#define cloog_scattering_from_isl_map (*cloog_pointers__.p_cloog_scattering_from_isl_map) |
1577 |
+#define cloog_state_free (*cloog_pointers__.p_cloog_state_free) |
1578 |
+#define cloog_union_domain_add_domain (*cloog_pointers__.p_cloog_union_domain_add_domain) |
1579 |
+#define cloog_union_domain_alloc (*cloog_pointers__.p_cloog_union_domain_alloc) |
1580 |
+#define cloog_union_domain_set_name (*cloog_pointers__.p_cloog_union_domain_set_name) |
1581 |
+#define isl_aff_add_coefficient_si (*cloog_pointers__.p_isl_aff_add_coefficient_si) |
1582 |
+#define isl_aff_add_constant (*cloog_pointers__.p_isl_aff_add_constant) |
1583 |
+#define isl_aff_free (*cloog_pointers__.p_isl_aff_free) |
1584 |
+#define isl_aff_get_coefficient (*cloog_pointers__.p_isl_aff_get_coefficient) |
1585 |
+#define isl_aff_get_space (*cloog_pointers__.p_isl_aff_get_space) |
1586 |
+#define isl_aff_mod (*cloog_pointers__.p_isl_aff_mod) |
1587 |
+#define isl_aff_set_coefficient_si (*cloog_pointers__.p_isl_aff_set_coefficient_si) |
1588 |
+#define isl_aff_set_constant_si (*cloog_pointers__.p_isl_aff_set_constant_si) |
1589 |
+#define isl_aff_zero_on_domain (*cloog_pointers__.p_isl_aff_zero_on_domain) |
1590 |
+#define isl_band_free (*cloog_pointers__.p_isl_band_free) |
1591 |
+#define isl_band_get_children (*cloog_pointers__.p_isl_band_get_children) |
1592 |
+#define isl_band_get_partial_schedule (*cloog_pointers__.p_isl_band_get_partial_schedule) |
1593 |
+#define isl_band_has_children (*cloog_pointers__.p_isl_band_has_children) |
1594 |
+#define isl_band_list_free (*cloog_pointers__.p_isl_band_list_free) |
1595 |
+#define isl_band_list_get_band (*cloog_pointers__.p_isl_band_list_get_band) |
1596 |
+#define isl_band_list_get_ctx (*cloog_pointers__.p_isl_band_list_get_ctx) |
1597 |
+#define isl_band_list_n_band (*cloog_pointers__.p_isl_band_list_n_band) |
1598 |
+#define isl_band_member_is_zero_distance (*cloog_pointers__.p_isl_band_member_is_zero_distance) |
1599 |
+#define isl_band_n_member (*cloog_pointers__.p_isl_band_n_member) |
1600 |
+#define isl_basic_map_add_constraint (*cloog_pointers__.p_isl_basic_map_add_constraint) |
1601 |
+#define isl_basic_map_project_out (*cloog_pointers__.p_isl_basic_map_project_out) |
1602 |
+#define isl_basic_map_universe (*cloog_pointers__.p_isl_basic_map_universe) |
1603 |
+#define isl_constraint_set_coefficient (*cloog_pointers__.p_isl_constraint_set_coefficient) |
1604 |
+#define isl_constraint_set_coefficient_si (*cloog_pointers__.p_isl_constraint_set_coefficient_si) |
1605 |
+#define isl_constraint_set_constant (*cloog_pointers__.p_isl_constraint_set_constant) |
1606 |
+#define isl_constraint_set_constant_si (*cloog_pointers__.p_isl_constraint_set_constant_si) |
1607 |
+#define isl_ctx_alloc (*cloog_pointers__.p_isl_ctx_alloc) |
1608 |
+#define isl_ctx_free (*cloog_pointers__.p_isl_ctx_free) |
1609 |
+#define isl_equality_alloc (*cloog_pointers__.p_isl_equality_alloc) |
1610 |
+#define isl_id_alloc (*cloog_pointers__.p_isl_id_alloc) |
1611 |
+#define isl_id_copy (*cloog_pointers__.p_isl_id_copy) |
1612 |
+#define isl_id_free (*cloog_pointers__.p_isl_id_free) |
1613 |
+#define isl_inequality_alloc (*cloog_pointers__.p_isl_inequality_alloc) |
1614 |
+#define isl_local_space_copy (*cloog_pointers__.p_isl_local_space_copy) |
1615 |
+#define isl_local_space_free (*cloog_pointers__.p_isl_local_space_free) |
1616 |
+#define isl_local_space_from_space (*cloog_pointers__.p_isl_local_space_from_space) |
1617 |
+#define isl_local_space_range (*cloog_pointers__.p_isl_local_space_range) |
1618 |
+#define isl_map_add_constraint (*cloog_pointers__.p_isl_map_add_constraint) |
1619 |
+#define isl_map_add_dims (*cloog_pointers__.p_isl_map_add_dims) |
1620 |
+#define isl_map_align_params (*cloog_pointers__.p_isl_map_align_params) |
1621 |
+#define isl_map_apply_range (*cloog_pointers__.p_isl_map_apply_range) |
1622 |
+#define isl_map_copy (*cloog_pointers__.p_isl_map_copy) |
1623 |
+#define isl_map_dim (*cloog_pointers__.p_isl_map_dim) |
1624 |
+#define isl_map_dump (*cloog_pointers__.p_isl_map_dump) |
1625 |
+#define isl_map_equate (*cloog_pointers__.p_isl_map_equate) |
1626 |
+#define isl_map_fix_si (*cloog_pointers__.p_isl_map_fix_si) |
1627 |
+#define isl_map_flat_product (*cloog_pointers__.p_isl_map_flat_product) |
1628 |
+#define isl_map_flat_range_product (*cloog_pointers__.p_isl_map_flat_range_product) |
1629 |
+#define isl_map_free (*cloog_pointers__.p_isl_map_free) |
1630 |
+#define isl_map_from_basic_map (*cloog_pointers__.p_isl_map_from_basic_map) |
1631 |
+#define isl_map_from_pw_aff (*cloog_pointers__.p_isl_map_from_pw_aff) |
1632 |
+#define isl_map_from_union_map (*cloog_pointers__.p_isl_map_from_union_map) |
1633 |
+#define isl_map_get_ctx (*cloog_pointers__.p_isl_map_get_ctx) |
1634 |
+#define isl_map_get_space (*cloog_pointers__.p_isl_map_get_space) |
1635 |
+#define isl_map_get_tuple_id (*cloog_pointers__.p_isl_map_get_tuple_id) |
1636 |
+#define isl_map_insert_dims (*cloog_pointers__.p_isl_map_insert_dims) |
1637 |
+#define isl_map_intersect (*cloog_pointers__.p_isl_map_intersect) |
1638 |
+#define isl_map_intersect_domain (*cloog_pointers__.p_isl_map_intersect_domain) |
1639 |
+#define isl_map_intersect_range (*cloog_pointers__.p_isl_map_intersect_range) |
1640 |
+#define isl_map_is_empty (*cloog_pointers__.p_isl_map_is_empty) |
1641 |
+#define isl_map_lex_ge (*cloog_pointers__.p_isl_map_lex_ge) |
1642 |
+#define isl_map_lex_le (*cloog_pointers__.p_isl_map_lex_le) |
1643 |
+#define isl_map_n_out (*cloog_pointers__.p_isl_map_n_out) |
1644 |
+#define isl_map_range (*cloog_pointers__.p_isl_map_range) |
1645 |
+#define isl_map_set_tuple_id (*cloog_pointers__.p_isl_map_set_tuple_id) |
1646 |
+#define isl_map_universe (*cloog_pointers__.p_isl_map_universe) |
1647 |
+#define isl_options_set_on_error (*cloog_pointers__.p_isl_options_set_on_error) |
1648 |
+#define isl_options_set_schedule_fuse (*cloog_pointers__.p_isl_options_set_schedule_fuse) |
1649 |
+#define isl_options_set_schedule_max_constant_term (*cloog_pointers__.p_isl_options_set_schedule_max_constant_term) |
1650 |
+#define isl_options_set_schedule_maximize_band_depth (*cloog_pointers__.p_isl_options_set_schedule_maximize_band_depth) |
1651 |
+#define isl_printer_free (*cloog_pointers__.p_isl_printer_free) |
1652 |
+#define isl_printer_print_aff (*cloog_pointers__.p_isl_printer_print_aff) |
1653 |
+#define isl_printer_print_constraint (*cloog_pointers__.p_isl_printer_print_constraint) |
1654 |
+#define isl_printer_print_map (*cloog_pointers__.p_isl_printer_print_map) |
1655 |
+#define isl_printer_print_set (*cloog_pointers__.p_isl_printer_print_set) |
1656 |
+#define isl_printer_to_file (*cloog_pointers__.p_isl_printer_to_file) |
1657 |
+#define isl_pw_aff_add (*cloog_pointers__.p_isl_pw_aff_add) |
1658 |
+#define isl_pw_aff_alloc (*cloog_pointers__.p_isl_pw_aff_alloc) |
1659 |
+#define isl_pw_aff_copy (*cloog_pointers__.p_isl_pw_aff_copy) |
1660 |
+#define isl_pw_aff_eq_set (*cloog_pointers__.p_isl_pw_aff_eq_set) |
1661 |
+#define isl_pw_aff_free (*cloog_pointers__.p_isl_pw_aff_free) |
1662 |
+#define isl_pw_aff_from_aff (*cloog_pointers__.p_isl_pw_aff_from_aff) |
1663 |
+#define isl_pw_aff_ge_set (*cloog_pointers__.p_isl_pw_aff_ge_set) |
1664 |
+#define isl_pw_aff_gt_set (*cloog_pointers__.p_isl_pw_aff_gt_set) |
1665 |
+#define isl_pw_aff_is_cst (*cloog_pointers__.p_isl_pw_aff_is_cst) |
1666 |
+#define isl_pw_aff_le_set (*cloog_pointers__.p_isl_pw_aff_le_set) |
1667 |
+#define isl_pw_aff_lt_set (*cloog_pointers__.p_isl_pw_aff_lt_set) |
1668 |
+#define isl_pw_aff_mod (*cloog_pointers__.p_isl_pw_aff_mod) |
1669 |
+#define isl_pw_aff_mul (*cloog_pointers__.p_isl_pw_aff_mul) |
1670 |
+#define isl_pw_aff_ne_set (*cloog_pointers__.p_isl_pw_aff_ne_set) |
1671 |
+#define isl_pw_aff_nonneg_set (*cloog_pointers__.p_isl_pw_aff_nonneg_set) |
1672 |
+#define isl_pw_aff_set_tuple_id (*cloog_pointers__.p_isl_pw_aff_set_tuple_id) |
1673 |
+#define isl_pw_aff_sub (*cloog_pointers__.p_isl_pw_aff_sub) |
1674 |
+#define isl_pw_aff_zero_set (*cloog_pointers__.p_isl_pw_aff_zero_set) |
1675 |
+#define isl_schedule_free (*cloog_pointers__.p_isl_schedule_free) |
1676 |
+#define isl_schedule_get_band_forest (*cloog_pointers__.p_isl_schedule_get_band_forest) |
1677 |
+#define isl_set_add_constraint (*cloog_pointers__.p_isl_set_add_constraint) |
1678 |
+#define isl_set_add_dims (*cloog_pointers__.p_isl_set_add_dims) |
1679 |
+#define isl_set_apply (*cloog_pointers__.p_isl_set_apply) |
1680 |
+#define isl_set_coalesce (*cloog_pointers__.p_isl_set_coalesce) |
1681 |
+#define isl_set_copy (*cloog_pointers__.p_isl_set_copy) |
1682 |
+#define isl_set_dim (*cloog_pointers__.p_isl_set_dim) |
1683 |
+#define isl_set_fix_si (*cloog_pointers__.p_isl_set_fix_si) |
1684 |
+#define isl_set_free (*cloog_pointers__.p_isl_set_free) |
1685 |
+#define isl_set_from_cloog_domain (*cloog_pointers__.p_isl_set_from_cloog_domain) |
1686 |
+#define isl_set_get_space (*cloog_pointers__.p_isl_set_get_space) |
1687 |
+#define isl_set_get_tuple_id (*cloog_pointers__.p_isl_set_get_tuple_id) |
1688 |
+#define isl_set_intersect (*cloog_pointers__.p_isl_set_intersect) |
1689 |
+#define isl_set_is_empty (*cloog_pointers__.p_isl_set_is_empty) |
1690 |
+#define isl_set_max (*cloog_pointers__.p_isl_set_max) |
1691 |
+#define isl_set_min (*cloog_pointers__.p_isl_set_min) |
1692 |
+#define isl_set_n_dim (*cloog_pointers__.p_isl_set_n_dim) |
1693 |
+#define isl_set_nat_universe (*cloog_pointers__.p_isl_set_nat_universe) |
1694 |
+#define isl_set_project_out (*cloog_pointers__.p_isl_set_project_out) |
1695 |
+#define isl_set_set_tuple_id (*cloog_pointers__.p_isl_set_set_tuple_id) |
1696 |
+#define isl_set_universe (*cloog_pointers__.p_isl_set_universe) |
1697 |
+#define isl_space_add_dims (*cloog_pointers__.p_isl_space_add_dims) |
1698 |
+#define isl_space_alloc (*cloog_pointers__.p_isl_space_alloc) |
1699 |
+#define isl_space_copy (*cloog_pointers__.p_isl_space_copy) |
1700 |
+#define isl_space_dim (*cloog_pointers__.p_isl_space_dim) |
1701 |
+#define isl_space_domain (*cloog_pointers__.p_isl_space_domain) |
1702 |
+#define isl_space_find_dim_by_id (*cloog_pointers__.p_isl_space_find_dim_by_id) |
1703 |
+#define isl_space_free (*cloog_pointers__.p_isl_space_free) |
1704 |
+#define isl_space_from_domain (*cloog_pointers__.p_isl_space_from_domain) |
1705 |
+#define isl_space_get_tuple_id (*cloog_pointers__.p_isl_space_get_tuple_id) |
1706 |
+#define isl_space_params_alloc (*cloog_pointers__.p_isl_space_params_alloc) |
1707 |
+#define isl_space_range (*cloog_pointers__.p_isl_space_range) |
1708 |
+#define isl_space_set_alloc (*cloog_pointers__.p_isl_space_set_alloc) |
1709 |
+#define isl_space_set_dim_id (*cloog_pointers__.p_isl_space_set_dim_id) |
1710 |
+#define isl_space_set_tuple_id (*cloog_pointers__.p_isl_space_set_tuple_id) |
1711 |
+#define isl_union_map_add_map (*cloog_pointers__.p_isl_union_map_add_map) |
1712 |
+#define isl_union_map_align_params (*cloog_pointers__.p_isl_union_map_align_params) |
1713 |
+#define isl_union_map_apply_domain (*cloog_pointers__.p_isl_union_map_apply_domain) |
1714 |
+#define isl_union_map_apply_range (*cloog_pointers__.p_isl_union_map_apply_range) |
1715 |
+#define isl_union_map_compute_flow (*cloog_pointers__.p_isl_union_map_compute_flow) |
1716 |
+#define isl_union_map_copy (*cloog_pointers__.p_isl_union_map_copy) |
1717 |
+#define isl_union_map_empty (*cloog_pointers__.p_isl_union_map_empty) |
1718 |
+#define isl_union_map_flat_range_product (*cloog_pointers__.p_isl_union_map_flat_range_product) |
1719 |
+#define isl_union_map_foreach_map (*cloog_pointers__.p_isl_union_map_foreach_map) |
1720 |
+#define isl_union_map_free (*cloog_pointers__.p_isl_union_map_free) |
1721 |
+#define isl_union_map_from_map (*cloog_pointers__.p_isl_union_map_from_map) |
1722 |
+#define isl_union_map_get_ctx (*cloog_pointers__.p_isl_union_map_get_ctx) |
1723 |
+#define isl_union_map_get_space (*cloog_pointers__.p_isl_union_map_get_space) |
1724 |
+#define isl_union_map_gist_domain (*cloog_pointers__.p_isl_union_map_gist_domain) |
1725 |
+#define isl_union_map_gist_range (*cloog_pointers__.p_isl_union_map_gist_range) |
1726 |
+#define isl_union_map_intersect_domain (*cloog_pointers__.p_isl_union_map_intersect_domain) |
1727 |
+#define isl_union_map_is_empty (*cloog_pointers__.p_isl_union_map_is_empty) |
1728 |
+#define isl_union_map_subtract (*cloog_pointers__.p_isl_union_map_subtract) |
1729 |
+#define isl_union_map_union (*cloog_pointers__.p_isl_union_map_union) |
1730 |
+#define isl_union_set_add_set (*cloog_pointers__.p_isl_union_set_add_set) |
1731 |
+#define isl_union_set_compute_schedule (*cloog_pointers__.p_isl_union_set_compute_schedule) |
1732 |
+#define isl_union_set_copy (*cloog_pointers__.p_isl_union_set_copy) |
1733 |
+#define isl_union_set_empty (*cloog_pointers__.p_isl_union_set_empty) |
1734 |
+#define isl_union_set_from_set (*cloog_pointers__.p_isl_union_set_from_set) |
1735 |
+#define stmt_ass (*cloog_pointers__.p_stmt_ass) |
1736 |
+#define stmt_block (*cloog_pointers__.p_stmt_block) |
1737 |
+#define stmt_for (*cloog_pointers__.p_stmt_for) |
1738 |
+#define stmt_guard (*cloog_pointers__.p_stmt_guard) |
1739 |
+#define stmt_root (*cloog_pointers__.p_stmt_root) |
1740 |
+#define stmt_user (*cloog_pointers__.p_stmt_user) |
1741 |
+ |
1742 |
typedef struct poly_dr *poly_dr_p; |
1743 |
|
1744 |
typedef struct poly_bb *poly_bb_p; |
1745 |
--- a/gcc/graphite.c |
1746 |
+++ b/gcc/graphite.c |
1747 |
@@ -78,6 +78,34 @@ along with GCC; see the file COPYING3. If not see |
1748 |
|
1749 |
CloogState *cloog_state; |
1750 |
|
1751 |
+__typeof (cloog_pointers__) cloog_pointers__; |
1752 |
+ |
1753 |
+static bool |
1754 |
+init_cloog_pointers (void) |
1755 |
+{ |
1756 |
+ void *h; |
1757 |
+ |
1758 |
+ if (cloog_pointers__.inited) |
1759 |
+ return cloog_pointers__.h != NULL; |
1760 |
+ h = dlopen ("libcloog-isl.so.4", RTLD_LAZY); |
1761 |
+ cloog_pointers__.h = h; |
1762 |
+ if (h == NULL) |
1763 |
+ return false; |
1764 |
+#define DYNSYM(x) \ |
1765 |
+ do \ |
1766 |
+ { \ |
1767 |
+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ |
1768 |
+ u.q = dlsym (h, #x); \ |
1769 |
+ if (u.q == NULL) \ |
1770 |
+ return false; \ |
1771 |
+ cloog_pointers__.p_##x = u.p; \ |
1772 |
+ } \ |
1773 |
+ while (0) |
1774 |
+ DYNSYMS |
1775 |
+#undef DYNSYM |
1776 |
+ return true; |
1777 |
+} |
1778 |
+ |
1779 |
/* Print global statistics to FILE. */ |
1780 |
|
1781 |
static void |
1782 |
@@ -277,6 +305,15 @@ graphite_transform_loops (void) |
1783 |
if (parallelized_function_p (cfun->decl)) |
1784 |
return; |
1785 |
|
1786 |
+ if (number_of_loops (cfun) <= 1) |
1787 |
+ return; |
1788 |
+ |
1789 |
+ if (!init_cloog_pointers ()) |
1790 |
+ { |
1791 |
+ sorry ("Graphite loop optimizations cannot be used"); |
1792 |
+ return; |
1793 |
+ } |
1794 |
+ |
1795 |
ctx = isl_ctx_alloc (); |
1796 |
isl_options_set_on_error (ctx, ISL_ON_ERROR_ABORT); |
1797 |
if (!graphite_initialize (ctx)) |
1798 |
|
1799 |
|
1800 |
|
1801 |
1.1 src/patchsets/gcc/4.9.0/gentoo/90_all_pr55930-dependency-tracking.patch |
1802 |
|
1803 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/90_all_pr55930-dependency-tracking.patch?rev=1.1&view=markup |
1804 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/90_all_pr55930-dependency-tracking.patch?rev=1.1&content-type=text/plain |
1805 |
|
1806 |
Index: 90_all_pr55930-dependency-tracking.patch |
1807 |
=================================================================== |
1808 |
libatomic build failure if configured with --disable-dependency-tracking |
1809 |
load_n.c:115:1: fatal error: opening dependency file .deps/load_1_.lo.Ppo: No such file or directory |
1810 |
|
1811 |
https://bugs.gentoo.org/463463 |
1812 |
http://gcc.gnu.org/PR55930 |
1813 |
|
1814 |
--- a/libatomic/Makefile.in |
1815 |
+++ b/libatomic/Makefile.in |
1816 |
@@ -298,7 +298,8 @@ PAT_N = $(word 2,$(PAT_SPLIT)) |
1817 |
PAT_S = $(word 3,$(PAT_SPLIT)) |
1818 |
IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) |
1819 |
IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) |
1820 |
-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo |
1821 |
+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo |
1822 |
+@AMDEP_FALSE@M_DEPS = |
1823 |
M_SIZE = -DN=$(PAT_N) |
1824 |
M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) |
1825 |
M_FILE = $(PAT_BASE)_n.c |
1826 |
|
1827 |
|
1828 |
|
1829 |
1.1 src/patchsets/gcc/4.9.0/gentoo/92_all_freebsd-pie.patch |
1830 |
|
1831 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/92_all_freebsd-pie.patch?rev=1.1&view=markup |
1832 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/92_all_freebsd-pie.patch?rev=1.1&content-type=text/plain |
1833 |
|
1834 |
Index: 92_all_freebsd-pie.patch |
1835 |
=================================================================== |
1836 |
https://bugs.gentoo.org/415185 |
1837 |
http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00555.html |
1838 |
|
1839 |
From: Alexis Ballier <aballier@g.o> |
1840 |
To: gcc-patches@×××××××.org |
1841 |
Cc: Alexis Ballier <aballier@g.o> |
1842 |
Date: Tue, 8 May 2012 09:53:43 -0400 |
1843 |
Subject: [PATCH] gcc/config/freebsd-spec.h: Fix building PIE executables. Link them with crt{begin,end}S.o and Scrt1.o which are PIC instead of crt{begin,end}.o and crt1.o which are not. Spec synced from gnu-user.h. |
1844 |
|
1845 |
gcc/config/i386/freebsd.h: Likewise. |
1846 |
--- |
1847 |
gcc/config/freebsd-spec.h | 9 +++------ |
1848 |
gcc/config/i386/freebsd.h | 9 +++------ |
1849 |
2 files changed, 6 insertions(+), 12 deletions(-) |
1850 |
|
1851 |
diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h |
1852 |
index 770a3d1..2808582 100644 |
1853 |
--- a/gcc/config/freebsd-spec.h |
1854 |
+++ b/gcc/config/freebsd-spec.h |
1855 |
@@ -64,11 +64,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
1856 |
before entering `main'. */ |
1857 |
|
1858 |
#define FBSD_STARTFILE_SPEC \ |
1859 |
- "%{!shared: \ |
1860 |
- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ |
1861 |
- %{!p:%{profile:gcrt1.o%s} \ |
1862 |
- %{!profile:crt1.o%s}}}} \ |
1863 |
- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" |
1864 |
+ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ |
1865 |
+ crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}" |
1866 |
|
1867 |
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on |
1868 |
the magical crtend.o file (see crtstuff.c) which provides part of |
1869 |
@@ -77,7 +74,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
1870 |
`crtn.o'. */ |
1871 |
|
1872 |
#define FBSD_ENDFILE_SPEC \ |
1873 |
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" |
1874 |
+ "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" |
1875 |
|
1876 |
/* Provide a LIB_SPEC appropriate for FreeBSD as configured and as |
1877 |
required by the user-land thread model. Before __FreeBSD_version |
1878 |
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h |
1879 |
index 649274d..dd69e43 100644 |
1880 |
--- a/gcc/config/i386/freebsd.h |
1881 |
+++ b/gcc/config/i386/freebsd.h |
1882 |
@@ -67,11 +67,8 @@ along with GCC; see the file COPYING3. If not see |
1883 |
|
1884 |
#undef STARTFILE_SPEC |
1885 |
#define STARTFILE_SPEC \ |
1886 |
- "%{!shared: \ |
1887 |
- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ |
1888 |
- %{!p:%{profile:gcrt1.o%s} \ |
1889 |
- %{!profile:crt1.o%s}}}} \ |
1890 |
- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" |
1891 |
+ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ |
1892 |
+ crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}" |
1893 |
|
1894 |
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on |
1895 |
the magical crtend.o file (see crtstuff.c) which provides part of |
1896 |
@@ -81,7 +78,7 @@ along with GCC; see the file COPYING3. If not see |
1897 |
|
1898 |
#undef ENDFILE_SPEC |
1899 |
#define ENDFILE_SPEC \ |
1900 |
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" |
1901 |
+ "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" |
1902 |
|
1903 |
/* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support |
1904 |
for the special GCC options -static and -shared, which allow us to |
1905 |
-- |
1906 |
1.7.8.6 |
1907 |
|
1908 |
|
1909 |
|
1910 |
1.1 src/patchsets/gcc/4.9.0/gentoo/README.history |
1911 |
|
1912 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/README.history?rev=1.1&view=markup |
1913 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.0/gentoo/README.history?rev=1.1&content-type=text/plain |
1914 |
|
1915 |
Index: README.history |
1916 |
=================================================================== |
1917 |
1.0 (pending) |
1918 |
+ 09_all_default-ssp.patch |
1919 |
U 10_all_default-fortify-source.patch |
1920 |
U 11_all_default-warn-format-security.patch |
1921 |
U 12_all_default-warn-trampolines.patch |
1922 |
+ 15_all_libgfortran-Werror.patch |
1923 |
+ 16_all_libgomp-Werror.patch |
1924 |
+ 17_all_libitm-Werror.patch |
1925 |
+ 18_all_libatomic-Werror.patch |
1926 |
U 19_all_libbacktrace-Werror.patch |
1927 |
+ 25_all_alpha-mieee-default.patch |
1928 |
+ 26_all_alpha-asm-mcpu.patch |
1929 |
+ 29_all_arm_armv4t-default.patch |
1930 |
+ 34_all_ia64_note.GNU-stack.patch |
1931 |
+ 38_all_sh_pr24836_all-archs.patch |
1932 |
+ 42_all_superh_default-multilib.patch |
1933 |
+ 50_all_libiberty-asprintf.patch |
1934 |
+ 51_all_libiberty-pic.patch |
1935 |
+ 52_all_netbsd-Bsymbolic.patch |
1936 |
+ 67_all_gcc-poison-system-directories.patch.updateme |
1937 |
+ 74_all_gcc49_cloog-dl.patch |
1938 |
+ 90_all_pr55930-dependency-tracking.patch |
1939 |
+ 92_all_freebsd-pie.patch |