Gentoo Archives: gentoo-commits

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