Gentoo Archives: gentoo-commits

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