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