Gentoo Archives: gentoo-commits

From: "Magnus Granberg (zorry)" <zorry@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/gcc/4.8.0/pie: 01_all_gcc48_configure.patch 02_all_gcc48_config.in.patch 03_all_gcc48_Makefile.in.patch 05_all_gcc48_gcc.c.patch 15_all_gcc44_decl-tls-model.patch 16_all_gcc47_nopie_option.patch 20_all_gcc46_config_crtbeginp.patch 24_all_gcc44_invoke.texi.patch 33_all_gcc48_config_rs6000.patch 34_all_gcc48_config_i386.patch 35_all_gcc48_config_arm.patch 36_all_gcc48_config_mips.patch 37_all_gcc48_config_ia64.patch 40_all_gcc48_config_esp.patch README README.Changelog README.Gentoo.patches README.history
Date: Mon, 01 Apr 2013 00:14:11
Message-Id: 20130401001407.50C532171D@flycatcher.gentoo.org
1 zorry 13/04/01 00:14:07
2
3 Added: 01_all_gcc48_configure.patch
4 02_all_gcc48_config.in.patch
5 03_all_gcc48_Makefile.in.patch
6 05_all_gcc48_gcc.c.patch
7 15_all_gcc44_decl-tls-model.patch
8 16_all_gcc47_nopie_option.patch
9 20_all_gcc46_config_crtbeginp.patch
10 24_all_gcc44_invoke.texi.patch
11 33_all_gcc48_config_rs6000.patch
12 34_all_gcc48_config_i386.patch
13 35_all_gcc48_config_arm.patch
14 36_all_gcc48_config_mips.patch
15 37_all_gcc48_config_ia64.patch
16 40_all_gcc48_config_esp.patch README
17 README.Changelog README.Gentoo.patches
18 README.history
19 Log:
20 Add piepatchset for gcc 4.8.0
21
22 Revision Changes Path
23 1.1 src/patchsets/gcc/4.8.0/pie/01_all_gcc48_configure.patch
24
25 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/01_all_gcc48_configure.patch?rev=1.1&view=markup
26 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/01_all_gcc48_configure.patch?rev=1.1&content-type=text/plain
27
28 Index: 01_all_gcc48_configure.patch
29 ===================================================================
30 2013-04-01 Magnus Granberg <zorry@g.o>
31
32 * configure.ac Add --enable-esp. Add -fno-stack-protector
33 to stage1_cflags.
34 * configure Regenerated
35 * gcc/configure.ac Add --enable-esp and define ENABLE_ESP.
36 Check if we support crtbeginP and define ENABLE_CRTBEGINP.
37 * gcc/configure Regenerated
38
39 --- a/configure.ac 2011-11-29 22:36:43.000000000 +0100
40 +++ b/configure.ac 2011-12-07 23:29:26.125712475 +0100
41 @@ -419,6 +419,26 @@ if test "${ENABLE_LIBADA}" != "yes" ; th
42 noconfigdirs="$noconfigdirs gnattools"
43 fi
44
45 +# Check whether --enable-esp was given and target have the support.
46 +AC_ARG_ENABLE([esp],
47 +[AS_HELP_STRING([--enable-esp],
48 + [Enable Stack protector and Position independent executable as
49 + default if we have suppot for it when compiling
50 + and link with -z relro and -z now as default.
51 + Linux targets supported i*86, x86_64, x32,
52 + powerpc, powerpc64, ia64, arm and mips.])],
53 +[
54 + case $target in
55 + i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips-*-linux* | arm*-*-linux* | ia64-*-linux*)
56 + enable_esp=yes
57 + ;;
58 + *)
59 + AC_MSG_WARN([*** --enable-esp is not supported on this $target target.])
60 + ;;
61 + esac
62 +])
63 +AC_SUBST([enable_esp])
64 +
65 AC_ARG_ENABLE(libssp,
66 [AS_HELP_STRING([--enable-libssp], [build libssp directory])],
67 ENABLE_LIBSSP=$enableval,
68 @@ -3211,6 +3230,11 @@ if test "$GCC" = yes -a "$ENABLE_BUILD_W
69 CFLAGS="$saved_CFLAGS"
70 fi
71
72 +# Disable -fstack-protector on stage1
73 +if test x$enable_esp = xyes; then
74 + stage1_cflags="$stage1_cflags -fno-stack-protector"
75 +fi
76 +
77 AC_SUBST(stage1_cflags)
78
79 # Enable --enable-checking in stage1 of the compiler.
80 --- a/gcc/configure.ac 2011-11-18 11:52:32.000000000 +0100
81 +++ b/gcc/configure.ac 2012-10-02 17:39:15.649526241 +0200
82 @@ -5130,6 +5237,55 @@ if test x"${LINKER_HASH_STYLE}" != x; th
83 [The linker hash style])
84 fi
85
86 +# --------------
87 +# Esp checks
88 +# --------------
89 +
90 +# Check whether --enable-esp was given and target have the support.
91 +AC_ARG_ENABLE([esp],
92 +[AS_HELP_STRING([--enable-esp],
93 + [Enable Stack protector and Position independent executable as
94 + default if we have suppot for it when compiling
95 + and link with -z now as default.
96 + Linux targets supported i*86, x86_64, x32,
97 + powerpc, powerpc64, ia64, arm and mips.])],
98 + enable_esp=$enableval,
99 + enable_esp=no)
100 +if test $enable_esp = yes ; then
101 + AC_MSG_CHECKING(if $target support esp)
102 + case "$target" in
103 + i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips-*-linux* | arm*-*-linux* | ia64-*-linux*)
104 + enable_esp=yes
105 + AC_DEFINE(ENABLE_ESP, 1,
106 + [Define if your target support esp and you have enable it.])
107 + ;;
108 + *)
109 + enable_esp=no
110 + ;;
111 + esac
112 +AC_MSG_RESULT($enable_esp)
113 +fi
114 +AC_SUBST([enable_esp])
115 +if test $enable_esp = yes ; then
116 + AC_MSG_CHECKING(checking for crtbeginP.o support)
117 + if test x$enable_esp = xyes ; then
118 + case "$target" in
119 + ia64*-*-linux*)
120 + enable_crtbeginP=no ;;
121 + *-*-linux*)
122 + if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then
123 + enable_crtbeginP=yes
124 + AC_DEFINE(ENABLE_CRTBEGINP, 1,
125 + [Define if your compiler will support crtbeginP.])
126 + fi
127 + ;;
128 + *) enable_crtbeginP=no ;;
129 + esac
130 + fi
131 + AC_MSG_RESULT($enable_crtbeginP)
132 +fi
133 +AC_SUBST([enable_crtbeginP])
134 +
135 # Configure the subdirectories
136 # AC_CONFIG_SUBDIRS($subdirs)
137
138 --- a/configure 2013-02-05 23:36:20.000000000 +0100
139 +++ b/configure 2013-02-12 01:59:04.000000000 +0100
140 @@ -670,6 +670,7 @@
141 CFLAGS
142 CC
143 EXTRA_CONFIGARGS_LIBJAVA
144 +enable_esp
145 target_subdir
146 host_subdir
147 build_subdir
148 @@ -748,6 +749,7 @@
149 enable_libquadmath
150 enable_libquadmath_support
151 enable_libada
152 +enable_esp
153 enable_libssp
154 enable_libstdcxx
155 enable_static_libjava
156 @@ -1464,6 +1466,11 @@
157 --disable-libquadmath-support
158 disable libquadmath support for Fortran
159 --enable-libada build libada directory
160 + --enable-esp Enable Stack protector and Position independent
161 + executable as default if we have suppot for it when
162 + compiling and link with and -z now as default.
163 + Linux targets supported i*86, x86_64, x32,
164 + powerpc, powerpc64, ia64, arm and mips.
165 --enable-libssp build libssp directory
166 --disable-libstdcxx do not build libstdc++-v3 directory
167 --enable-static-libjava[=ARG]
168 @@ -3068,6 +3075,24 @@
169 noconfigdirs="$noconfigdirs gnattools"
170 fi
171
172 +# Check whether --enable-esp was given and target have the support.
173 +# Check whether --enable-esp was given.
174 +if test "${enable_esp+set}" = set; then :
175 + enableval=$enable_esp;
176 + case $target in
177 + i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips*-*-linux* | arm*-*-linux* | ia64-*-linux*)
178 + enable_esp=yes
179 + ;;
180 + *)
181 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** --enable-esp is not supported on this $target target." >&5
182 +$as_echo "$as_me: WARNING: *** --enable-esp is not supported on this $target target." >&2;}
183 + ;;
184 + esac
185 +
186 +fi
187 +
188 +
189 +
190 # Check whether --enable-libssp was given.
191 if test "${enable_libssp+set}" = set; then :
192 enableval=$enable_libssp; ENABLE_LIBSSP=$enableval
193 @@ -14453,6 +14478,11 @@
194 esac ;;
195 esac
196
197 +# Disable -fstack-protector on stage1
198 +if test x$enable_esp = xyes; then
199 + stage1_cflags="$stage1_cflags -fno-stack-protector"
200 +fi
201 +
202
203
204 # Enable --enable-checking in stage1 of the compiler.
205 --- a/gcc/configure 2013-02-01 21:26:24.000000000 +0100
206 +++ b/gcc/configure 2013-02-12 01:59:20.000000000 +0100
207 @@ -600,6 +600,8 @@
208
209 ac_subst_vars='LTLIBOBJS
210 LIBOBJS
211 +enable_crtbeginP
212 +enable_esp
213 enable_plugin
214 pluginlibs
215 CLOOGINC
216 @@ -920,6 +922,7 @@
217 enable_plugin
218 enable_libquadmath_support
219 with_linker_hash_style
220 +enable_esp
221 '
222 ac_precious_vars='build_alias
223 host_alias
224 @@ -1633,6 +1636,11 @@
225 --enable-plugin enable plugin support
226 --disable-libquadmath-support
227 disable libquadmath support for Fortran
228 + --enable-esp Enable Stack protector and Position independent
229 + executable as default if we have suppot for it when
230 + compiling and link with -z now as default.
231 + Linux targets supported i*86, x86_64, x32,
232 + powerpc, powerpc64, ia64, arm and mips.
233
234 Optional Packages:
235 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
236 @@ -27419,6 +27427,59 @@
237
238 fi
239
240 +# --------------
241 +# Esp checks
242 +# --------------
243 +
244 +# Check whether --enable-esp was given and target have the support.
245 +# Check whether --enable-esp was given.
246 +if test "${enable_esp+set}" = set; then :
247 + enableval=$enable_esp; enable_esp=$enableval
248 +else
249 + enable_esp=no
250 +fi
251 +
252 +if test $enable_esp = yes ; then
253 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $target support esp" >&5
254 +$as_echo_n "checking if $target support esp... " >&6; }
255 + case "$target" in
256 + i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips*-*-linux* | arm*-*-linux* | ia64-*-linux*)
257 + enable_esp=yes
258 +
259 +$as_echo "#define ENABLE_ESP 1" >>confdefs.h
260 +
261 + ;;
262 + *)
263 + enable_esp=no
264 + ;;
265 + esac
266 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_esp" >&5
267 +$as_echo "$enable_esp" >&6; }
268 +fi
269 +
270 +if test $enable_esp = yes ; then
271 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking checking for crtbeginP.o support" >&5
272 +$as_echo_n "checking checking for crtbeginP.o support... " >&6; }
273 + if test x$enable_esp = xyes ; then
274 + case "$target" in
275 + ia64*-*-linux*)
276 + enable_crtbeginP=no ;;
277 + *-*-linux*)
278 + if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then
279 + enable_crtbeginP=yes
280 +
281 +$as_echo "#define ENABLE_CRTBEGINP 1" >>confdefs.h
282 +
283 + fi
284 + ;;
285 + *) enable_crtbeginP=no ;;
286 + esac
287 + fi
288 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_crtbeginP" >&5
289 +$as_echo "$enable_crtbeginP" >&6; }
290 +fi
291 +
292 +
293 # Configure the subdirectories
294 # AC_CONFIG_SUBDIRS($subdirs)
295
296
297
298
299 1.1 src/patchsets/gcc/4.8.0/pie/02_all_gcc48_config.in.patch
300
301 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/02_all_gcc48_config.in.patch?rev=1.1&view=markup
302 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/02_all_gcc48_config.in.patch?rev=1.1&content-type=text/plain
303
304 Index: 02_all_gcc48_config.in.patch
305 ===================================================================
306 2013-02-13 Magnus Granberg <zorry@g.o>
307
308 * gcc/config.in Add ENABLE_CRTBEGINP, ENABLE_ESP
309
310 --- gcc/config.in 2009-04-21 11:08:08.000000000 +0200
311 +++ gcc/config.in 2009-05-12 00:10:08.000000000 +0200
312 @@ -46,6 +46,12 @@
313 #endif
314
315
316 +/* Define to 1 to enable crtbeginP.o. */
317 +#ifndef USED_FOR_TARGET
318 +#undef ENABLE_CRTBEGINP
319 +#endif
320 +
321 +
322 /* Define to 1 to specify that we are using the BID decimal floating point
323 format instead of DPD */
324 #ifndef USED_FOR_TARGET
325 @@ -65,6 +65,12 @@
326 #endif
327
328
329 +/* Define to 1 to enable esp. */
330 +#ifndef USED_FOR_TARGET
331 +#undef ENABLE_ESP
332 +#endif
333 +
334 +
335 /* Define to 1 to enable fixed-point arithmetic extension to C. */
336 #ifndef USED_FOR_TARGET
337 #undef ENABLE_FIXED_POINT
338
339
340
341 1.1 src/patchsets/gcc/4.8.0/pie/03_all_gcc48_Makefile.in.patch
342
343 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/03_all_gcc48_Makefile.in.patch?rev=1.1&view=markup
344 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/03_all_gcc48_Makefile.in.patch?rev=1.1&content-type=text/plain
345
346 Index: 03_all_gcc48_Makefile.in.patch
347 ===================================================================
348 2012-01-17 Magnus Granberg <zorry@g.o>
349
350 * Makefile.in We add -fno-stack-protector to BOOT_CFLAGS, LIBCFLAGS and
351 LIBCXXFLAGS if enable_esp yes.
352 * gcc/Makefile.in Add -fno-PIE. to ALL_CFLAGS and
353 ALL_CXXFLAGS if enable_esp yes.
354 Echo enable_esp and enable_crtbeginP to tmp-libgcc.mvars.
355 * libgcc/Makefile.in Add crtbeginP.o to EXTRA_PARTS if enable_crtbeginP yes
356 We add new file crtbeginP.o if enable_crtbeginP yes
357 Add -fno-PIE. to CRTSTUFF_CFLAGS.
358
359 --- a/Makefile.in 2010-01-22 08:35:38.000000000 -0500
360 +++ b/Makefile.in 2010-02-07 15:10:59.000000000 -0500
361 @@ -350,9 +350,17 @@
362 BUILD_PREFIX = @BUILD_PREFIX@
363 BUILD_PREFIX_1 = @BUILD_PREFIX_1@
364
365 +# Some stuff don't compile with SSP
366 +enable_esp = @enable_esp@
367 +ifeq ($(enable_esp),yes)
368 +ESP_NOSSP_CFLAGS = -fno-stack-protector
369 +else
370 +ESP_NOSSP_CFLAGS=
371 +endif
372 +
373 # Flags to pass to stage2 and later makes. They are defined
374 # here so that they can be overridden by Makefile fragments.
375 -BOOT_CFLAGS= -g -O2
376 +BOOT_CFLAGS= -g -O2 $(ESP_NOSSP_CFLAGS)
377 BOOT_LDFLAGS=
378 BOOT_ADAFLAGS=-gnatpg -gnata
379
380 @@ -403,9 +403,9 @@
381
382 CFLAGS = @CFLAGS@
383 LDFLAGS = @LDFLAGS@
384 -LIBCFLAGS = $(CFLAGS)
385 +LIBCFLAGS = $(CFLAGS) $(ESP_NOSSP_CFLAGS)
386 CXXFLAGS = @CXXFLAGS@
387 -LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
388 +LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates $(ESP_NOSSP_CFLAGS)
389 GOCFLAGS = $(CFLAGS)
390
391 TFLAGS =
392 --- a/gcc/Makefile.in 2011-11-09 02:20:14.000000000 +0100
393 +++ b/gcc/Makefile.in 2011-12-24 22:28:08.864804375 +0100
394 @@ -247,6 +247,14 @@ LINKER_FLAGS = $(CFLAGS)
395 endif
396 endif
397
398 +# We don't want to compile the compiler with -fPIE, it make PCH fail.
399 +enable_esp = @enable_esp@
400 +ifeq ($(enable_esp),yes)
401 +ESP_NOPIE_CFLAGS = -fno-PIE
402 +else
403 +ESP_NOPIE_CFLAGS=
404 +endif
405 +
406 # -------------------------------------------
407 # Programs which operate on the build machine
408 # -------------------------------------------
409 @@ -974,12 +982,13 @@ INTERNAL_CFLAGS = -DIN_GCC @CROSS@
410
411 # This is the variable actually used when we compile. If you change this,
412 # you probably want to update BUILD_CFLAGS in configure.ac
413 -ALL_CFLAGS = $(T_CFLAGS) $(CFLAGS-$@) \
414 +ALL_CFLAGS = $(ESP_NOPIE_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) \
415 $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@
416
417 # The C++ version.
418 -ALL_CXXFLAGS = $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS) $(INTERNAL_CFLAGS) \
419 - $(COVERAGE_FLAGS) $(NOEXCEPTION_FLAGS) $(WARN_CXXFLAGS) @DEFS@
420 +ALL_CXXFLAGS = $(ESP_NOPIE_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS) \
421 + $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(NOEXCEPTION_FLAGS) \
422 + $(WARN_CXXFLAGS) @DEFS@
423
424 # Likewise. Put INCLUDES at the beginning: this way, if some autoconf macro
425 # puts -I options in CPPFLAGS, our include files in the srcdir will always
426 @@ -1814,6 +1823,8 @@ libgcc.mvars: config.status Makefile spe
427 echo GCC_CFLAGS = '$(GCC_CFLAGS)' >> tmp-libgcc.mvars
428 echo INHIBIT_LIBC_CFLAGS = '$(INHIBIT_LIBC_CFLAGS)' >> tmp-libgcc.mvars
429 echo TARGET_SYSTEM_ROOT = '$(TARGET_SYSTEM_ROOT)' >> tmp-libgcc.mvars
430 + echo enable_esp = '$(enable_esp)' >> tmp-libgcc.mvars
431 + echo enable_crtbeginP = '@enable_crtbeginP@' >> tmp-libgcc.mvars
432
433 mv tmp-libgcc.mvars libgcc.mvars
434
435 --- a/libgcc/Makefile.in 2011-11-22 04:01:02.000000000 +0100
436 +++ b/libgcc/Makefile.in 2011-12-25 15:18:22.449610631 +0100
437 @@ -219,6 +219,17 @@ else
438 DECNUMINC =
439 endif
440
441 +ifeq ($(enable_esp),yes)
442 +ESP_NOPIE_CFLAGS = -fno-PIE
443 +else
444 +ESP_NOPIE_CFLAGS=
445 +endif
446 +
447 +# We add crtbeginP.o to the EXTRA_PARTS list if enable_crtbeginP = yes
448 +ifeq ($(enable_crtbeginP),yes)
449 +EXTRA_PARTS += crtbeginP.o
450 +endif
451 +
452 # Options to use when compiling libgcc2.a.
453 #
454 LIBGCC2_DEBUG_CFLAGS = -g
455 @@ -279,7 +290,7 @@ INTERNAL_CFLAGS = $(CFLAGS) $(LIBGCC2_CF
456 CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
457 -finhibit-size-directive -fno-inline -fno-exceptions \
458 -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
459 - -fno-stack-protector \
460 + -fno-stack-protector $(ESP_NOPIE_CFLAGS) \
461 $(INHIBIT_LIBC_CFLAGS)
462
463 # Extra flags to use when compiling crt{begin,end}.o.
464 @@ -966,6 +977,13 @@ crtendS$(objext): $(srcdir)/crtstuff.c
465 # This is a version of crtbegin for -static links.
466 crtbeginT$(objext): $(srcdir)/crtstuff.c
467 $(crt_compile) $(CRTSTUFF_T_CFLAGS) -c $< -DCRT_BEGIN -DCRTSTUFFT_O
468 +
469 +# This is a version of crtbegin for -static -fPIE links.
470 +ifeq ($(enable_crtbeginP),yes)
471 +crtbeginP$(objext): $(srcdir)/crtstuff.c
472 + $(crt_compile) $(CRTSTUFF_T_CFLAGS_S) \
473 + -c $< -DCRT_BEGIN -DCRTSTUFFT_O -DCRTSTUFFS_O
474 +endif
475 endif
476
477 ifeq ($(CUSTOM_CRTIN),)
478
479
480
481 1.1 src/patchsets/gcc/4.8.0/pie/05_all_gcc48_gcc.c.patch
482
483 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/05_all_gcc48_gcc.c.patch?rev=1.1&view=markup
484 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/05_all_gcc48_gcc.c.patch?rev=1.1&content-type=text/plain
485
486 Index: 05_all_gcc48_gcc.c.patch
487 ===================================================================
488 2013-03-24 Magnus Granberg <zorry@g.o>
489
490 * gcc/gcc.c include esp.h
491 static const char *cc1_spec We set that in esp.h if ENABLE_ESP.
492
493 --- gcc/gcc.c 2010-01-21 10:29:30.000000000 -0500
494 +++ gcc/gcc.c 2010-01-29 23:29:16.000000000 -0500
495 @@ -44,6 +44,7 @@
496 #include "opts.h"
497 #include "params.h"
498 #include "vec.h"
499 +#include "config/esp.h" /* for --enable-esp support */
500 #include "filenames.h"
501
502 /* By default there is no special suffix for target executables. */
503 @@ -822,7 +823,9 @@
504
505 static const char *asm_debug;
506 static const char *cpp_spec = CPP_SPEC;
507 +#ifndef ENABLE_ESP
508 static const char *cc1_spec = CC1_SPEC;
509 +#endif
510 static const char *cc1plus_spec = CC1PLUS_SPEC;
511 static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC;
512 static const char *link_ssp_spec = LINK_SSP_SPEC;
513
514
515
516 1.1 src/patchsets/gcc/4.8.0/pie/15_all_gcc44_decl-tls-model.patch
517
518 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/15_all_gcc44_decl-tls-model.patch?rev=1.1&view=markup
519 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/15_all_gcc44_decl-tls-model.patch?rev=1.1&content-type=text/plain
520
521 Index: 15_all_gcc44_decl-tls-model.patch
522 ===================================================================
523 2009-06-13 Magnus Granberg <zorry@×××.nu>
524
525 b.g.o #232601
526 * gcc/varasm.c (decl_tls_model): Check flag_pic instead of flag_shlib.
527
528 --- gcc/varasm.c 2009-03-17 21:18:21.000000000 +0100
529 +++ gcc/varasm.c 2009-04-29 03:10:09.000000000 +0200
530 @@ -5607,7 +5607,11 @@
531 bool is_local;
532
533 is_local = targetm.binds_local_p (decl);
534 - if (!flag_shlib)
535 + #ifdef ENABLE_ESP
536 + if (!flag_pic)
537 + #else
538 + if (!flag_shlib)
539 + #endif
540 {
541 if (is_local)
542 kind = TLS_MODEL_LOCAL_EXEC;
543
544
545
546 1.1 src/patchsets/gcc/4.8.0/pie/16_all_gcc47_nopie_option.patch
547
548 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/16_all_gcc47_nopie_option.patch?rev=1.1&view=markup
549 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/16_all_gcc47_nopie_option.patch?rev=1.1&content-type=text/plain
550
551 Index: 16_all_gcc47_nopie_option.patch
552 ===================================================================
553 2012-01-24 Magnus Granberg <zorry@g.o>
554
555 * gcc/common.opt Add -nopie
556
557 --- a/gcc/common.opt 2011-11-23 19:51:17.000000000 +0100
558 +++ b//gcc/common.opt 2012-01-24 16:56:24.302224357 +0100
559 @@ -2280,6 +2280,9 @@ Driver
560 nodefaultlibs
561 Driver
562
563 +nopie
564 +Driver
565 +
566 nostartfiles
567 Driver
568
569
570
571
572 1.1 src/patchsets/gcc/4.8.0/pie/20_all_gcc46_config_crtbeginp.patch
573
574 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/20_all_gcc46_config_crtbeginp.patch?rev=1.1&view=markup
575 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/20_all_gcc46_config_crtbeginp.patch?rev=1.1&content-type=text/plain
576
577 Index: 20_all_gcc46_config_crtbeginp.patch
578 ===================================================================
579 2011-03-05 Magnus Granberg <zorry@g.o>
580
581 * gcc/config/gnu-user.h If ENABLE_CRTBEGINP, -static and -pie use crtbegineP.o.
582 * gcc/config/rs6000/sysv4.h If ENABLE_CRTBEGINP, -static and -pie use crtbegineP.o.
583
584 --- gcc/config/gnu-user.h 2009-04-10 01:23:07.000000000 +0200
585 +++ gcc/config/gnu-user.h 2009-09-08 04:08:06.000000000 +0200
586 @@ -39,7 +39,11 @@
587 provides part of the support for getting C++ file-scope static
588 object constructed before entering `main'. */
589
590 -#if defined HAVE_LD_PIE
591 +#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINP)
592 +#define GNU_USER_TARGET_STARTFILE_SPEC \
593 + "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s \
594 + %{static:%{pie:crtbeginP.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}"
595 +#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINP)
596 #define GNU_USER_TARGET_STARTFILE_SPEC \
597 "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
598 crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
599 --- gcc/config/rs6000/sysv4.h 2009-04-10 01:23:07.000000000 +0200
600 +++ gcc/config/rs6000/sysv4.h 2009-09-08 04:41:50.000000000 +0200
601 @@ -883,7 +883,12 @@
602 %{!mnewlib: %{pthread:-lpthread} %{shared:-lc} \
603 %{!shared: %{profile:-lc_p} %{!profile:-lc}}}"
604
605 -#ifdef HAVE_LD_PIE
606 +#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINP)
607 +#define STARTFILE_LINUX_SPEC "\
608 +%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
609 +%{mnewlib:ecrti.o%s;:crti.o%s} \
610 +%{static:%{pie:crtbeginP.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}"
611 +#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINP)
612 #define STARTFILE_LINUX_SPEC "\
613 %{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
614 %{mnewlib:ecrti.o%s;:crti.o%s} \
615
616
617
618 1.1 src/patchsets/gcc/4.8.0/pie/24_all_gcc44_invoke.texi.patch
619
620 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/24_all_gcc44_invoke.texi.patch?rev=1.1&view=markup
621 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/24_all_gcc44_invoke.texi.patch?rev=1.1&content-type=text/plain
622
623 Index: 24_all_gcc44_invoke.texi.patch
624 ===================================================================
625 2009-09-11 Magnus Granberg <zorry@g.o>
626
627 * gcc/doc/invoke.texi Add NOTES about -fstack-protector-all, -pie and
628 -fPIE/-fpie when --enable-esp is enable, this options is on by default.
629
630 --- gcc/doc/invoke.texi 2009-04-01 09:18:47.000000000 +0200
631 +++ gcc/doc/invoke.texi 2009-06-18 14:08:38.000000000 +0200
632 @@ -7134,6 +7134,11 @@
633 @opindex fstack-protector-all
634 Like @option{-fstack-protector} except that all functions are protected.
635
636 +NOTE: When --enable-esp this option is enabled by default
637 +for C, C++, ObjC, ObjC++, if neither @option{-fno-stack-protector}
638 +or @option{-nostdlib} or @option{-nodefaultlibs} or
639 +@option{-fstack-protector} are found.
640 +
641 @item -fsection-anchors
642 @opindex fsection-anchors
643 Try to reduce the number of symbolic address calculations by using
644 @@ -7960,6 +7965,12 @@
645 that were used to generate code (@option{-fpie}, @option{-fPIE},
646 or model suboptions) when you specify this option.
647
648 +NOTE: When --enable-esp this option is enabled by default
649 +for C, C++, ObjC, ObjC++, if neither @option{-fno-pie} or @option{-fno-PIE}
650 +or @option{-fno-pic} or @option{-fno-PIC} or @option{-nostdlib} or
651 +@option{-nostartfiles} or @option{-shared} or @option{-pg} or @option{-p}
652 +are found.
653 +
654 @item -rdynamic
655 @opindex rdynamic
656 Pass the flag @option{-export-dynamic} to the ELF linker, on targets
657 @@ -15889,6 +15910,11 @@
658 @code{__pie__} and @code{__PIE__}. The macros have the value 1
659 for @option{-fpie} and 2 for @option{-fPIE}.
660
661 +NOTE: When --enable-esp this option is enabled by default
662 +for C, C++, ObjC, ObjC++, if neither @option{-fno-pie} or @option{-fno-PIE}
663 +or @option{-fno-pic} or @option{-fno-PIC} or @option{-nostdlib} or
664 +@option{-nostartfiles} or @option{-shared} are found.
665 +
666 @item -fno-jump-tables
667 @opindex fno-jump-tables
668 Do not use jump tables for switch statements even where it would be
669
670
671
672 1.1 src/patchsets/gcc/4.8.0/pie/33_all_gcc48_config_rs6000.patch
673
674 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/33_all_gcc48_config_rs6000.patch?rev=1.1&view=markup
675 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/33_all_gcc48_config_rs6000.patch?rev=1.1&content-type=text/plain
676
677 Index: 33_all_gcc48_config_rs6000.patch
678 ===================================================================
679 2013-03-26 Peter S. Mazinger <ps.m@×××.net>, Magnus Granberg <zorry@g.o>
680
681 * gcc/config/rs6000/linux64.h (ASM_SPEC32): Change %{fpic:-K PIC} %{fPIC:-K PIC}
682 to %{fpic|fPIC|fpie|fPIE:-K PIC}
683 * gcc/config/rs6000/sysv4.h (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPECS.
684 (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
685
686 --- a/gcc/config/rs6000/linux64.h.psm 2009-04-10 01:23:07.000000000 +0200
687 +++ b/gcc/config/rs6000/linux64.h 2009-09-23 12:34:26.000000000 +0200
688 @@ -162,7 +162,7 @@
689 #endif
690
691 #define ASM_SPEC32 "-a32 \
692 -%{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} \
693 +%{mrelocatable} %{mrelocatable-lib} %{fpic|fPIC|fpie|fPIE:-K PIC} \
694 %{memb} %{!memb: %{msdata=eabi: -memb}} \
695 %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
696 %{mcall-freebsd: -mbig} \
697 --- a/gcc/config/rs6000/sysv4.h 2013-01-10 21:38:27.000000000 +0100
698 +++ b/gcc/config/rs6000/sysv4.h 2013-03-26 01:30:33.257003189 +0100
699 @@ -627,8 +627,13 @@ extern int fixuplabelno;
700
701 #define LINK_OS_DEFAULT_SPEC ""
702
703 +#ifdef ENABLE_ESP
704 +#define DRIVER_SELF_SPECS "%{mfpu=none: %<mfpu=* \
705 + %<msingle-float %<mdouble-float}", ESP_DRIVER_SELF_SPECS
706 +#else
707 #define DRIVER_SELF_SPECS "%{mfpu=none: %<mfpu=* \
708 %<msingle-float %<mdouble-float}"
709 +#endif
710
711 /* Override rs6000.h definition. */
712 #undef CPP_SPEC
713 @@ -933,7 +938,11 @@ ncrtn.o%s"
714 { "cpp_os_openbsd", CPP_OS_OPENBSD_SPEC }, \
715 { "cpp_os_default", CPP_OS_DEFAULT_SPEC }, \
716 { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }, \
717 - SUBSUBTARGET_EXTRA_SPECS
718 + SUBSUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS
719 +
720 +#ifndef ENABLE_ESP
721 +#define ESP_EXTRA_SPECS
722 +#endif
723
724 #define SUBSUBTARGET_EXTRA_SPECS
725
726
727
728
729 1.1 src/patchsets/gcc/4.8.0/pie/34_all_gcc48_config_i386.patch
730
731 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/34_all_gcc48_config_i386.patch?rev=1.1&view=markup
732 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/34_all_gcc48_config_i386.patch?rev=1.1&content-type=text/plain
733
734 Index: 34_all_gcc48_config_i386.patch
735 ===================================================================
736 2013-03-24 Magnus Granberg <zorry@g.o>
737
738 * gcc/config/i386/gnu-user-common.h (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPEC.
739 * gcc/config/i386/gnu-user.h (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
740 * gcc/config/i386/i386.h (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
741
742 --- a/gcc/config/i386/gnu-user-common.h 2013-01-10 21:38:27.000000000 +0100
743 +++ b/gcc/config/i386/gnu-user-common.h 2013-02-14 00:51:44.689637605 +0100
744 @@ -70,3 +70,7 @@ along with GCC; see the file COPYING3.
745
746 /* Static stack checking is supported by means of probes. */
747 #define STACK_CHECK_STATIC_BUILTIN 1
748 +
749 +#ifdef ENABLE_ESP
750 +#define DRIVER_SELF_SPECS ESP_DRIVER_SELF_SPEC
751 +#endif
752 --- a/gcc/config/i386/gnu-user.h 2011-05-05 14:32:50.000000000 +0200
753 +++ b/gcc/config/i386/gnu-user.h 2012-07-09 14:28:38.726289455 +0200
754 @@ -93,9 +93,16 @@ along with GCC; see the file COPYING3.
755 "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
756
757 #undef SUBTARGET_EXTRA_SPECS
758 +#ifdef ENABLE_ESP
759 #define SUBTARGET_EXTRA_SPECS \
760 { "link_emulation", GNU_USER_LINK_EMULATION },\
761 - { "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
762 + { "dynamic_linker", GNU_USER_DYNAMIC_LINKER }, \
763 + ESP_EXTRA_SPECS
764 +#else
765 +#define SUBTARGET_EXTRA_SPECS \
766 + { "link_emulation", GNU_USER_LINK_EMULATION },\
767 + { "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
768 +#endif
769
770 #undef LINK_SPEC
771 #define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
772 --- a/gcc/config/i386/i386.h 2011-11-24 23:11:12.000000000 +0100
773 +++ b/gcc/config/i386/i386.h 2012-07-09 14:21:24.575276517 +0200
774 @@ -617,13 +617,16 @@ enum target_cpu_default
775 Do not define this macro if it does not need to do anything. */
776
777 #ifndef SUBTARGET_EXTRA_SPECS
778 +#ifdef ENABLE_ESP
779 +#define SUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS
780 +#else
781 #define SUBTARGET_EXTRA_SPECS
782 #endif
783 +#endif
784
785 #define EXTRA_SPECS \
786 { "cc1_cpu", CC1_CPU_SPEC }, \
787 SUBTARGET_EXTRA_SPECS
788 -
789
790 /* Set the value of FLT_EVAL_METHOD in float.h. When using only the
791 FPU, assume that the fpcw is set to extended precision; when using
792
793
794
795 1.1 src/patchsets/gcc/4.8.0/pie/35_all_gcc48_config_arm.patch
796
797 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/35_all_gcc48_config_arm.patch?rev=1.1&view=markup
798 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/35_all_gcc48_config_arm.patch?rev=1.1&content-type=text/plain
799
800 Index: 35_all_gcc48_config_arm.patch
801 ===================================================================
802 2013-04-01 Magnus Granberg <zorry@g.o>
803
804 * gcc/config/arm/arm.h (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
805 (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPEC.
806
807 --- a/gcc/config/arm/arm.h 2013-01-15 17:17:28.000000000 +0100
808 +++ b/gcc/config/arm/arm.h 2013-02-18 22:45:18.327284928 +0100
809 @@ -226,8 +226,12 @@ extern void (*arm_lang_output_object_att
810 SUBTARGET_EXTRA_SPECS
811
812 #ifndef SUBTARGET_EXTRA_SPECS
813 +#ifdef ENABLE_ESP
814 +#define SUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS
815 +#else
816 #define SUBTARGET_EXTRA_SPECS
817 #endif
818 +#endif
819
820 #ifndef SUBTARGET_CPP_SPEC
821 #define SUBTARGET_CPP_SPEC ""
822 @@ -2326,6 +2326,11 @@ extern const char *host_detect_local_cpu
823 # define MCPU_MTUNE_NATIVE_SPECS ""
824 #endif
825
826 -#define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS
827 -
828 +#ifdef ENABLE_ESP
829 +# define DRIVER_SELF_SPECS \
830 + MCPU_MTUNE_NATIVE_SPECS, \
831 + ESP_DRIVER_SELF_SPEC
832 +#else
833 +# define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS
834 +#endif
835 #endif /* ! GCC_ARM_H */
836
837
838
839 1.1 src/patchsets/gcc/4.8.0/pie/36_all_gcc48_config_mips.patch
840
841 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/36_all_gcc48_config_mips.patch?rev=1.1&view=markup
842 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/36_all_gcc48_config_mips.patch?rev=1.1&content-type=text/plain
843
844 Index: 36_all_gcc48_config_mips.patch
845 ===================================================================
846 2013-04-01 Magnus Granberg <zorry@g.o>
847
848 * gcc/config/mips/gnu-user.h (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPEC.
849 * gcc/config/mips/gnu-user64.h (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPEC.
850 * gcc/config/mips/mips.h (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
851
852 --- a/gcc/config/mips/gnu-user.h 2013-01-10 21:38:27.000000000 +0100
853 +++ b/gcc/config/mips/gnu-user.h 2013-03-10 22:37:33.743176388 +0100
854 @@ -125,9 +125,16 @@ extern const char *host_detect_local_cpu
855 "%{mabi=64:%{!msym32:%<mplt}}"
856
857 #undef DRIVER_SELF_SPECS
858 +#ifdef ENABLE_ESP
859 #define DRIVER_SELF_SPECS \
860 BASE_DRIVER_SELF_SPECS, \
861 + ESP_DRIVER_SELF_SPEC, \
862 LINUX_DRIVER_SELF_SPECS
863 +# else
864 +#define DRIVER_SELF_SPECS \
865 + BASE_DRIVER_SELF_SPECS, \
866 + LINUX_DRIVER_SELF_SPECS
867 +#endif
868
869 /* Similar to standard Linux, but adding -ffast-math support. */
870 #undef GNU_USER_TARGET_MATHFILE_SPEC
871 --- a/gcc/config/mips/gnu-user64.h 2013-01-10 21:38:27.000000000 +0100
872 +++ b/gcc/config/mips/gnu-user64.h 2013-03-10 22:32:11.209166777 +0100
873 @@ -26,9 +26,16 @@ along with GCC; see the file COPYING3.
874 " %{!mabi=*: -" MULTILIB_ABI_DEFAULT "}"
875
876 #undef DRIVER_SELF_SPECS
877 +#ifdef ENABLE_ESP
878 #define DRIVER_SELF_SPECS \
879 BASE_DRIVER_SELF_SPECS, \
880 + ESP_DRIVER_SELF_SPEC, \
881 LINUX64_DRIVER_SELF_SPECS
882 +# else
883 +#define DRIVER_SELF_SPECS \
884 + BASE_DRIVER_SELF_SPECS, \
885 + LINUX64_DRIVER_SELF_SPECS
886 +#endif
887
888 #undef GNU_USER_TARGET_LINK_SPEC
889 #define GNU_USER_TARGET_LINK_SPEC "\
890 --- a/gcc/config/mips/mips.h 2013-01-10 21:38:27.000000000 +0100
891 +++ b/gcc/config/mips/mips.h 2013-03-24 16:59:01.474513910 +0100
892 @@ -1197,9 +1197,13 @@ struct mips_cpu_info {
893 SUBTARGET_EXTRA_SPECS
894
895 #ifndef SUBTARGET_EXTRA_SPECS
896 +#ifdef ENABLE_ESP
897 +#define SUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS
898 +#else
899 #define SUBTARGET_EXTRA_SPECS
900 #endif
901 -
902 +#endif
903 +
904 #define DBX_DEBUGGING_INFO 1 /* generate stabs (OSF/rose) */
905 #define DWARF2_DEBUGGING_INFO 1 /* dwarf2 debugging info */
906
907
908
909
910 1.1 src/patchsets/gcc/4.8.0/pie/37_all_gcc48_config_ia64.patch
911
912 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/37_all_gcc48_config_ia64.patch?rev=1.1&view=markup
913 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/37_all_gcc48_config_ia64.patch?rev=1.1&content-type=text/plain
914
915 Index: 37_all_gcc48_config_ia64.patch
916 ===================================================================
917 2013-04-01 Magnus Granberg <zorry@g.o>
918
919 * gcc/config/ia64/linux.h Define DRIVER_SELF_SPECS ESP_DRIVER_SELF_SPECS.
920 * gcc/config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
921
922 --- a/gcc/config/ia64/linux.h 2013-01-10 21:38:27.000000000 +0100
923 +++ b/gcc/config/ia64/linux.h 2013-03-16 22:50:10.363049291 +0100
924 @@ -88,3 +88,7 @@ do { \
925
926 /* Define this to be nonzero if static stack checking is supported. */
927 #define STACK_CHECK_STATIC_BUILTIN 1
928 +
929 +#ifdef ENABLE_ESP
930 +#define DRIVER_SELF_SPECS ESP_DRIVER_SELF_SPECS
931 +#endif
932 --- a/gcc/config/ia64/ia64.h 2013-01-10 21:38:27.000000000 +0100
933 +++ b/gcc/config/ia64/ia64.h 2013-03-26 02:03:21.052061828 +0100
934 @@ -41,8 +41,12 @@ do { \
935 } while (0)
936
937 #ifndef SUBTARGET_EXTRA_SPECS
938 +#ifdef ENABLE_ESP
939 +#define SUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS
940 +#else
941 #define SUBTARGET_EXTRA_SPECS
942 #endif
943 +#endif
944
945 #define EXTRA_SPECS \
946 { "asm_extra", ASM_EXTRA_SPEC }, \
947
948
949
950 1.1 src/patchsets/gcc/4.8.0/pie/40_all_gcc48_config_esp.patch
951
952 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/40_all_gcc48_config_esp.patch?rev=1.1&view=markup
953 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/40_all_gcc48_config_esp.patch?rev=1.1&content-type=text/plain
954
955 Index: 40_all_gcc48_config_esp.patch
956 ===================================================================
957 2013-02-14 Magnus Granberg <zorry@g.o>
958
959 * gcc/esp.h New file to support --enable-esp
960 Version 20130214.1
961
962 --- gcc/config/esp.h 2010-04-09 16:14:00.000000000 +0200
963 +++ gcc/config/esp.h 2012-06-23 01:00:31.248348491 +0200
964 @@ -0,0 +1,127 @@
965 +/* License terms see GNU GENERAL PUBLIC LICENSE Version 3.
966 + * Version 20130214.1
967 + * Magnus Granberg (Zorry) <zorry@g.o> */
968 +#ifndef GCC_ESP_H
969 +#define GCC_ESP_H
970 +
971 +/* This file will add -fstack-protector-all, -fPIE, -pie and -z now
972 + as default if the defines and the spec allow it.
973 + Added a hack for gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass
974 + to support older hardened GCC patches and we don't need to change the code on gcc-specs-* and _filter-hardened.
975 + This will add some unsupported upstream commands options as -nopie and -nonow.
976 + -D__KERNEL__ is added so we don't have -fPIE, -pie and -fstack-protector-all when building kernels.
977 + ESP_CC1_SPEC is added to CC1_SPEC.
978 + ESP_CC1_STRICT_OVERFLOW_SPEC is added so we don't disable the strict-overflow check.
979 + ESP_LINK_PIE_CHECK_SPEC check for -pie, -p, -pg, -profile and -static.
980 + ENABLE_CRTBEGINP add support for crtbeginP.o, build -static with -fPIE or -fpie.
981 +*/
982 +#ifdef ENABLE_ESP
983 +
984 + /* Hack to support gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass */
985 + #define ESP_CC1_SPEC " %(esp_cc1_ssp) %(esp_cc1_pie) %(esp_cc1_strict_overflow)"
986 + #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP )
987 + #define ESP_CC1_SSP_SPEC "%{!fno-stack-protector: %{!fno-stack-protector-all: }}"
988 + #else
989 + #define ESP_CC1_SSP_SPEC ""
990 + #endif
991 + #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP )
992 + #define ESP_CC1_PIE_SPEC "%{!nopie: }"
993 + #else
994 + #define ESP_CC1_PIE_SPEC ""
995 + #endif
996 + #define ESP_CC1_STRICT_OVERFLOW_SPEC "%{!fstrict-overflow:%{!fno-strict-overflow: -fno-strict-overflow}}"
997 +
998 + /* ESP_LINK_SPEC is added to LINK_PIE_SPEC if esp is enable
999 + -z now will be added if we don't have -vanilla spec. We do a -pie incompatible check
1000 + Don't remove the specs in the end */
1001 + #define ESP_LINK_SPEC "%(esp_link_now) %(esp_link_pie_check) "
1002 + #define ESP_LINK_NOW_SPEC "%{!nonow:-z now}"
1003 +
1004 + /* We use ESP_ESP_DRIVER_SELF_SPEC to add pie and ssp command-line options. */
1005 + #define ESP_DRIVER_SELF_SPEC "%{D__KERNEL__:;:%{!nopie:%(esp_options_pie) \
1006 + %(esp_link_pie)} %(esp_options_ssp) }"
1007 +
1008 + /* This will add -fstack-protector-all if we don't have -nostdlib -nodefaultlibs -fno-stack-protector -fstack-protector
1009 + -fstack-protector-all and we have EFAULT_SSP or EFAULT_PIE_SSP defined. */
1010 + #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP )
1011 + #define ESP_OPTIONS_SSP_SPEC \
1012 + "%{nostdlib|nodefaultlibs|fno-stack-protector| \
1013 + fstack-protector|fstack-protector-all:;:-fstack-protector-all}"
1014 + #else
1015 + #define ESP_OPTIONS_SSP_SPEC ""
1016 + #endif
1017 +
1018 + /* If EFAULT_PIE or EFAULT_PIE_SSP is defined we will add -fPIE -pie */
1019 + #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP )
1020 +
1021 + /* This will add -fPIE if we don't have -pie -fpic -fPIC -fpie -fPIE -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static
1022 + -nostdlib -nostartfiles. */
1023 + /* With ENABLE_CRTBEGINP we don't need to check for -static */
1024 + #ifdef ENABLE_CRTBEGINP
1025 + #define ESP_OPTIONS_PIE_SPEC \
1026 + "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \
1027 + %{!shared: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }"
1028 + #else
1029 + #define ESP_OPTIONS_PIE_SPEC \
1030 + "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \
1031 + %{!shared: %{!static: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }}"
1032 + #endif
1033 +
1034 + /* This will add -pie if we don't have -pie -A -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static -r -nostdlib
1035 + -nostartfiles */
1036 + /* With ENABLE_CRTBEGINP we don't need to check for -static
1037 + and we add -pie only to get the start and endfiles. -pie will not go to the linker. */
1038 + #ifdef ENABLE_CRTBEGINP
1039 + #define ESP_LINK_PIE_SPEC \
1040 + "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!r: \
1041 + %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}"
1042 + #else
1043 + #define ESP_LINK_PIE_SPEC \
1044 + "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!static:%{!r: \
1045 + %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}}"
1046 + #endif
1047 +
1048 + /* This will check if -pie is set when (-static) -pg -p -profile. If set it will make gcc print out
1049 + "-pie and (static)|pg|p|profile are incompatible when linking" */
1050 + /* With ENABLE_CRTBEGINP we don't need to check for -static */
1051 + #ifdef ENABLE_CRTBEGINP
1052 + #define ESP_LINK_PIE_CHECK_SPEC \
1053 + "%{pie:%{pg|p|profile:%e-pie and -pg|p|profile are incompatible when linking}}"
1054 + #else
1055 + #define ESP_LINK_PIE_CHECK_SPEC \
1056 + "%{pie:%{static|pg|p|profile:%e-pie and -static|pg|p|profile are incompatible when linking}}"
1057 + #endif
1058 +
1059 + /* We don't pass -pie to the linker when -static. */
1060 + #ifdef ENABLE_CRTBEGINP
1061 + #define LINK_PIE_SPEC "%{!static:%{pie:-pie}} %(esp_link)"
1062 + #else
1063 + #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)"
1064 + #endif
1065 +
1066 + #else
1067 + #define ESP_OPTIONS_PIE_SPEC ""
1068 + #define ESP_LINK_PIE_CHECK_SPEC ""
1069 + #define ESP_LINK_PIE_SPEC ""
1070 + #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)"
1071 + #endif
1072 +
1073 + /* We add extra spec name's to the EXTRA_SPECS list */
1074 + #define ESP_EXTRA_SPECS \
1075 + { "esp_cc1", ESP_CC1_SPEC }, \
1076 + { "esp_cc1_pie", ESP_CC1_PIE_SPEC }, \
1077 + { "esp_cc1_ssp", ESP_CC1_SSP_SPEC }, \
1078 + { "esp_cc1_strict_overflow", ESP_CC1_STRICT_OVERFLOW_SPEC }, \
1079 + { "esp_link", ESP_LINK_SPEC }, \
1080 + { "esp_link_now", ESP_LINK_NOW_SPEC }, \
1081 + { "esp_link_pie", ESP_LINK_PIE_SPEC }, \
1082 + { "esp_link_pie_check", ESP_LINK_PIE_CHECK_SPEC }, \
1083 + { "esp_driver_self", ESP_DRIVER_SELF_SPEC }, \
1084 + { "esp_options_pie", ESP_OPTIONS_PIE_SPEC }, \
1085 + { "esp_options_ssp", ESP_OPTIONS_SSP_SPEC }
1086 +
1087 + static const char *esp_driver_self_spec = ESP_DRIVER_SELF_SPEC;
1088 + static const char *cc1_spec = CC1_SPEC ESP_CC1_SPEC;
1089 +
1090 +#endif
1091 +#endif /* End GCC_ESP_H */
1092
1093
1094
1095 1.1 src/patchsets/gcc/4.8.0/pie/README
1096
1097 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/README?rev=1.1&view=markup
1098 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/README?rev=1.1&content-type=text/plain
1099
1100 Index: README
1101 ===================================================================
1102 This work started with bugs #94325 #100689 #106222 #149292 #149649 and the overlay on http://overlays.gentoo.org/dev/kevquinn.
1103 By Kevin K. Quinn, Peter S. Mazinger, Natanael Copa, Alexander Gabert, Solar, PaX Team, SpanKY and mentor.
1104
1105 The work stalled. Some threads on the Gentoo forum started to do their own fixes to get it working.
1106 Xake started the thread where most of the new work is done: "How long until hardened and toolchain will produce a hardened gcc4?"
1107 http://forums.gentoo.org/viewtopic-t-668885.html. I joined the thread and started to code.
1108
1109 We started with the pieworld code from kevquinn's overlay. The PIE and minispecs part hit the tree later on.
1110 With GCC 4.4.0 I was willing to do some code cleanup, use built-in specs and add it as --enable-esp in the
1111 configure command line. On GCC 4.8.0 we use DRIVER_SELF_SPECS for the specs.
1112
1113 Thank you all:
1114 Kevin K. Quinn, Peter S. Mazinger, Natanael Copa, Alexander Gabert, Solar, PaX Team, SpanKY, Xake, Dwokfur,
1115 KernelOfTruth, SteveL, nixnut, Hopeless, forsaken1, XioXous, obrut<-, mv, qjim, Tommy[D], Genewb, radegand,
1116 unk, neuron, alexxy, hellboi64, likewhoa, g0rg0n, costel78, polsas, 7v5w7go9ub0o, uberpinguin, Naib, cilly,
1117 bonsaikitten, kerframil, agaffney, Gordon Malm, blueness, Matthias Klose, Kees Cook, mentor, Anarchy,
1118 devurandom and everyone else for helping to test, suggestions, fixes and anything else we have missed.
1119 /2013-03-31 Magnus Grenberg (Zorry) <zorry@g.o>
1120
1121
1122
1123 1.1 src/patchsets/gcc/4.8.0/pie/README.Changelog
1124
1125 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/README.Changelog?rev=1.1&view=markup
1126 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/README.Changelog?rev=1.1&content-type=text/plain
1127
1128 Index: README.Changelog
1129 ===================================================================
1130 0.5.5 Magnus Granberg <zorry@g.o>
1131
1132 * configure.ac Add mips
1133 * configure Regenerated
1134 * gcc/configure.ac Clean up the checksand add mips.
1135 * gcc/configure Regenerated
1136 * gcc/config.in Remove ENABLE_ESP_SSP
1137 * gcc/Makefile.in Bumped for 4.8.0 release
1138 * gcc/gcc.c Remove ESP_EXTRA_SPECS and
1139 ESP_COMMAND_OPTIONS_SPEC
1140 * gcc/config/rs6000/sysv4.h Add ESP_DRIVER_SELF_SPECS
1141 and ESP_EXTRA_SPECS
1142 * gcc/config/i386/gnu-user-common.h Add ESP_DRIVER_SELF_SPECS
1143 * gcc/config/i386/gnu-user.h Add ESP_DRIVER_SELF_SPECS
1144 * gcc/config/i386/i386.h Add ESP_DRIVER_SELF_SPECS
1145 * gcc/config/arm/arm.h Add ESP_DRIVER_SELF_SPECS and
1146 ESP_EXTRA_SPECS
1147 * gcc/config/mips/gnu-user.h Add ESP_DRIVER_SELF_SPECS
1148 * gcc/config/mips/gnu-user64.h Add ESP_DRIVER_SELF_SPECS
1149 * gcc/config/mips/mips.h Add ESP_EXTRA_SPECS
1150 * gcc/config/ia64/linux.h Add ESP_DRIVER_SELF_SPECS
1151 * gcc/config/ia64/ia64.h Add ESP_EXTRA_SPECS
1152 * gcc/config/esp.h Bump for ESP_DRIVER_SELF_SPECS support
1153
1154 0.5.4 Magnus Granberg <zorry@g.o>
1155
1156 #436924
1157 * configure.ac Add --enable-esp. Add -fno-stack-protector
1158 to stage1_cflags.
1159 * gcc/configure.ac Add --enable-esp and check if SSP works.
1160 Define ENABLE_ESP ENABLE_ESP_SSP.
1161 Check if we support crtbeginP and define ENABLE_CRTBEGINP.
1162 * gcc/configure Fix a typo
1163
1164 0.5.3 Magnus Granberg <zorry@g.o>
1165
1166 * gcc/configure Clean up the checks and added
1167 check for uclibc ssp support.
1168 * gcc/config.in Add define for ENABLE_ESP_SSP
1169 * gcc/esp.h Check for ENABLE_ESP_SSP
1170
1171 0.5.2 Magnus Granberg <zorry@g.o>
1172
1173 * gcc/common.opt Add -nopie
1174
1175 0.5.1 Magnus Granberg <zorry@g.o>
1176
1177 * configure Bumped for 4.7.0 release
1178 * gcc/configure Bumped for 4.7.0 release and
1179 added some checks.
1180 * gcc/Makefile Bumped for 4.7.0 release
1181 * gcc/gcc.c Bumped for 4.7.0 release
1182 * libgcc/Makefile Bumped for 4.7.0 release
1183
1184 0.5.0 Magnus Granberg <zorry@g.o>
1185
1186 #393321
1187 * gcc/Makefile.in Rename crtbeginTS.o to crtbeginP.o
1188 * gcc/config/gnu-user.h Rename crtbeginTS.o to crtbeginP.o
1189 * gcc/config/rs6000/sysv4.h Rename crtbeginTS.o to crtbeginP.o
1190 * gcc/esp.h Rename crtbeginTS.o to crtbeginP.o
1191 * gcc/configure Rename crtbeginTS.o to crtbeginP.o
1192 * gcc/config.in Rename crtbeginTS.o to crtbeginP.o
1193 * libgcc/Makefile.in Rename crtbeginTS.o to crtbeginP.o
1194
1195 0.4.9 Magnus Granberg <zorry@g.o>
1196
1197 #380823
1198 * gcc/Makefile.in added ESP_NOPIE_CFLAGS to ALL_CXXFLAGS
1199
1200 0.4.8 Magnus Granberg <zorry@g.o>
1201
1202 * gcc/objc/lang-specs.h Bumped for gcc 4.6.0 release
1203 * gcc/objcp/lang-specs.h Bumped for gcc 4.6.0 release
1204 * gcc/cp/lang-specs.h Bumped for gcc 4.6.0 release
1205
1206 0.4.7 Magnus Granberg <zorry@g.o>
1207
1208 * gcc/gcc.c Add %(esp_options) and %(esp_cpp_options)
1209 * gcc/esp.h Use the esp.h patch from gcc-4.4 patchset
1210 * gcc/config/rs6000/linux64.h Bumed for >2011-02-26 snapshot
1211 * gcc/objc/lang-specs.h Add %(esp_options)
1212 * gcc/objcp/lang-specs.h Add %(esp_options)
1213 * gcc/cp/lang-specs.h Add %(esp_options)
1214 * gcc/config/gnu-user.h Add crtbeginTS.o support
1215
1216 0.4.6 Magnus Granberg <zorry@g.o>
1217
1218 * Makefile.in Bumped for gcc 4.6
1219 * gcc/Makefile.in Bumped for gcc 4.6
1220 added ESP_NOPIE_CFLAGS to ALL_CFLAGS
1221 remove any ESP_NOSSP_CFLAGS
1222 remove any ESP_NOPIE_CFLAGS from crt* when not needed
1223 * gcc/gcc.c Bumped for gcc 4.6
1224 moved espf_options_ssp to espf_command_options_spec
1225 * gcc/esp.h Added espf_options_ssp to espf_cc1_command_spec
1226 * gcc/config/rs6000/linux64.h Bumped for gcc 4.6
1227 * gcc/config/linux.h Bumped for gcc 4.6
1228
1229 0.4.5 Magnus Granberg <zorry@g.o>
1230
1231 * gcc/config/rs6000/sysv4.h Fix a typo in the static spec rules
1232
1233 0.4.4 Magnus Granberg <zorry@g.o>
1234
1235 * gcc/esp.h Renamed ESP_CC1_STRICT_SPEC to ESP_CC1_STRICT_OVERFLOW_SPEC
1236 Renamed ESP_OPTIONS_PIE_CHECK_SPEC to ESP_LINK_PIE_CHECK_SPEC
1237
1238 0.4.3 Magnus Granberg <zorry@g.o>
1239
1240 #299061 b.g.o
1241 * gcc/gcc.c removed the pie incompatible specs rule call
1242 * gcc/esp.h Move the -pie incompatible check to esp_link
1243 remove the -shared incompatible check
1244
1245 0.4.2 Magnus granberg <zorry@g.o>
1246
1247 * configure remove the changes from 0.4.1
1248 * Makefile.in remove the changes from 0.4.1 remove -fstack-protector check.
1249 * gcc/configure remove the changes from 0.4.1
1250 * gcc/config.in remove the changes from 0.4.1 remove HAVE_GCC_SSP
1251 * gcc/Makefile remove the changes from 0.4.1
1252 * gcc/esp.h change HAVE_GCC_LD_PIE to (EFAULT_PIE || EFAULT_PIE_SSP)
1253 change HAVE_GCC_SSP to (EFAULT_SSP || EFAULT_PIE_SSP)
1254 * libmudflap/Makefiles.in remove the changes from 0.4.1
1255
1256 0.4.1 Magnus Granberg <zorry@g.o>
1257
1258 *configure removed check for --enable-esp removed enable_esp
1259 added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set
1260 *Makefile.in renamed enable_esp to enable_esp_set
1261 *gcc/configure removed check for --enable-esp removed enable_esp
1262 added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set
1263 added a -fPIE -pie check. change AC_COMPILE_IFELSE to AC_LINK_IFELSE in the
1264 -fstack-protector check.
1265 * gcc/config.in Added HAVE_GCC_LD_PIE
1266 *gcc/Makefile.in renamed enable_esp to enable_esp_set
1267 *gcc/esp.h Renamed HAVE_LD_PIE to HAVE_GCC_LD_PIE
1268 Added HAVE_GCC_LD_PIE to #define ESP_CC1_PIE_SPEC. Move ESP_COMMAND_OPTIONS_SPEC
1269 * libmudflap/Makefiles.in In enable_esp change ifeq to ifdef.
1270
1271 #293843 b.g.o
1272 *gcc/esp.h Added -nonow to the -z now specs.
1273
1274 0.4.0 Anthony G. Basile <basile@××××××××××××××.edu>
1275
1276 rename espf to esp and change espf-patchset to piepatchset
1277
1278 0.3.9 Magnus Granberg <zorry@g.o>
1279
1280 * gcc/configure Added check for TLS on the target in the SSP check.
1281
1282 #149292 b.g.o
1283 * gcc/config/i386/linux.h Removed uclibc don't support TLS on stack-protector
1284 * gcc/config/i386/linux64.h Removed uclibc don't support TLS on stack-protector
1285 * gcc/config/rs6000/linux.h Removed uclibc don't support TLS on stack-protector
1286 * gcc/config/i386/linux.h Removed uclibc don't support TLS on stack-protector
1287 * gcc/config/sparc/linux.h Removed uclibc don't support TLS on stack-protector
1288 * gcc/config/sparc/linux64.h Removed uclibc don't support TLS on stack-protector
1289
1290 0.3.8 Magnus Granberg <zorry@g.o>
1291
1292 * gcc/configure Redone the -fstack-protector check.
1293 * gcc/config.in Added HAVE_GCC_SSP
1294 * gcc/gcc.c Removed code for espf_link_spec in X
1295 * gcc/espf.h Added ifdef HAVE_GCC_SSP, change code for espf_link_spec and link_pie_spec
1296
1297 0.3.7_beta Anthony G. Basile <basile@××××××××××××××.edu>
1298
1299 * gcc/configure Check if -fstack-protector is supported by gcc on ARCH
1300 Updated AC_SUBST enable_espf
1301 * gcc/Makefile.in Remove the fix for $(out_object_file): ix86_split_to_parts() stack smashing attack b.g.o #149292.
1302 * gcc/gcc.c Updaded the .c .cc compiler specs.
1303
1304 0.3.6 Magnus Granberg <zorry@×××.nu>
1305
1306 * configure Check --enable-espf change ppc* to powerpc*, powerpc64 and add ia64.
1307 * gcc/configure Don't check for -z,relro on ia64. Disable crtbeginTS for ia64.
1308 * gcc/espf.h ia64 don't support -fstack-protector*
1309
1310 0.3.5 Maguns Granberg <zorry@×××.nu>
1311
1312 * gcc/espf.h Change the specs for crtbegin.TS.o.
1313 * gcc/gcc.c Rename espf_cc1_options to espf_options_pie_check.
1314 * gcc/config/linux.h Fix typos ENABLE_CRTBEGINS to ENABLE_CRTBEGINTS
1315 * gcc/config/rs6000/linux64.h ASM_SPEC32: %{fpic:-K PIC} %{fPIC:-K PIC} to
1316 %{fpic|fPIC|fpie|fPIE:-K PIC}
1317
1318 0.3.4 Magnus Granberg <zorry@×××.nu>
1319
1320 * gcc/configure Add crtbeginTS.o support.
1321 * gcc/Makefile.in Add crtbeginTS.o support.
1322 * gcc/gcc.c Add espf_cc1_options.
1323 * gcc/espf.h Added espf_cc1_options, crtbeginTS.o support,
1324 espf_cc1_options and espf_cc1_strictoverflow.
1325 * gcc/config.in Add crtbeginTS.o support.
1326 * gcc/config/linux.h Add crtbeginTS.o support.
1327 * gcc/config/rs6000/sysv4.h Add crtbeginTS.o support.
1328 * gcc/doc/invoke.texi Add NOTES about -fstack-protector-all,
1329 -pie and -fPIE.
1330 * libgcc/Makefile.in Add crtbeginTS.o support.
1331
1332 0.3.3 Magnus Granberg <zorry@×××.nu>
1333
1334 * gcc/opts.c change #ifdef ENABLE_ESPF to #ifndef ENABLE_ESPF
1335
1336 0.3.2 Magnus Granberg <zorry@×××.nu>
1337
1338 * gcc/opts.c disable flag_delete_null_pointer_checks >= -O2
1339 * gcc/espf.h add ESPF_CC1_SSP_SPEC and ESPF_CC1_PIE_SPEC to fix bugs on -vanilla spec
1340
1341 #149292 b.g.o
1342 * gcc/config/i386/linux.h uclibc don't support TLS on stack-protector
1343 * gcc/config/i386/linux64.h uclibc don't support TLS on stack-protector
1344 * gcc/config/rs6000/linux.h uclibc don't support TLS on stack-protector
1345 * gcc/config/i386/linux.h uclibc don't support TLS on stack-protector
1346 * gcc/config/sparc/linux.h uclibc don't support TLS on stack-protector
1347 * gcc/config/sparc/linux64.h uclibc don't support TLS on stack-protector
1348
1349 0.3.1 Magnus Granberg <zorry@×××.nu>
1350
1351 * gcc/cp/Make-lang.in cc1plus: pch test fail when cc1plus is compile with -fPIE.
1352 * gcc/configure fix --enable-espf when USE"-hardened"
1353
1354 4.4.1-espf-0.3.0 Magnus Granberg <zorry@×××.nu>
1355
1356 * gcc/espf.h add ESPF_LINK_SPEC ESPF_LINK_NOW_SPEC
1357 * gcc/gcc.c move do_self_spec (espf_command_options_spec)
1358 do_spec_1() add espf_link_spec
1359
1360 0.3.0 Magnus Granberg <zorry@×××.nu>
1361
1362 * gcc/objc/lang-specs.h Add %(espf_options)
1363 * gcc/objcp/lang-specs.h Add %(espf_options)
1364 * gcc/cp/lang-specs.h Add %(espf_options)
1365 * gcc/config.in removed ENABLE_LIBSSP
1366 * Makefile.in We add -fno-stack-protector to
1367 BOOT_CFLAGS, LIBCFLAGS and LIBCXXFLAGS
1368 cc1: pch.exp test fail when cc1 is compile with -fPIE
1369 * libmudflap/Makefiles.in Add -fno-stack-protector -U_FORTIFY_SOURCE
1370 to AM_CFLAGS
1371 * configure add --enable-espf
1372 add -fno-stack-protector to stage1_cflags
1373 add targes ppc* arm sparc*
1374 * gcc/configure change code for check --enable-espf
1375 * libmudflap/configure add enable_espf
1376 * gcc/espf.h ESPF_CC1_OPTIONS_SPEC renamed to ESPF_OPTIONS_SPEC
1377 add ESPF_CPP_OPTIONS_SPEC ESPF_COMMAND_OPTIONS_SPEC
1378 ESPF_CC1_OPTIONS_SSP_SPEC renamed to ESPF_OPTIONS_SSP_SPEC
1379 ESPF_COMPILER_COMMAND_PIE_SPEC renamed to ESPF_OPTIONS_PIE_SPEC
1380 ESPF_LINK_COMMAND_PIE_SPEC renamed to ESPF_LINK_PIE_SPEC
1381 add !p !pg to ESPF_LINK_PIE_SPEC
1382 removed ESPF_LINK_SPEC ESPF_CC1_OPTIONS_PIE_INCOMPATIBLE_SPEC
1383 * gcc/gcc.c cpp_options add %(espf_cpp_options)
1384 compiler spec add %(espf_options)
1385 change code for ESPF_EXTRA_SPECS
1386 process_command(): Check for lazy, or now
1387 do_spec_1(): Add -z now and -z relro
1388 main() add do_self_spec (espf_command_options_spec)
1389 removed do_self_spec (espf_cc1_command_spec) do_self_spec (espf_link_command_spec)
1390
1391 0.2.9 Magnus Granberg <zorry@×××.nu>
1392
1393 * gcc/espf.h add ESPF_COMPILER_COMMAND_PIE_SPEC
1394 add ESPF_LINK_COMMAND_PIE_SPEC
1395 change ESPF_COMPILER_COMMAND_SPEC ESPF_LINK_COMMAND_SPEC
1396
1397 0.2.8 Magnus Granberg <zorry@×××.nu>
1398
1399 * gcc/configure removed check crtbeginTS.o
1400 * gcc/espf.h added notes
1401 add ESPF_CC1_SPEC
1402 removed ESPF_CPP_UNIQUE_OPTIONS espf_override_options()
1403 * gcc/gcc.c cc1_spec Set it to CC1_SPEC if ! ENABLE_ESPF
1404 * gcc/toplev.c removed ESPF_OVERRIDE_OPTIONS
1405
1406 0.2.7 Magnus Granberg <zorry@×××.nu>
1407
1408 * gcc/opts.c (decode_options): Remove flag_strict_overflow as opt2
1409 * gcc/config.in removed HAVE_CRTBEGINTS
1410 * gcc/Makefile removed crtbeginTS.o
1411 * libgcc/Makefile.in removed crtbeginTS.o
1412 * gcc/config/i386/i386.h removed espf_override_options ESPF_EXTRA_SPECS
1413 * gcc/config/linux.h remoevd crtbeginTS.o
1414 * gcc/espf.h ESPF_CC1_OPTIONS_PIE_SPEC renamed to ESPF_CC1_COMMAND_SPEC
1415 * gcc/gcc.c add ESPF_EXTRA_SPECS
1416 main() add do_self_spec (espf_cc1_command_spec)
1417
1418 0.2.6 Magnus Granberg <zorry@×××.nu>
1419
1420 * gcc/config/i386/i386.h add espf_override_options() to OVERRIDE_OPTIONS
1421 * gcc/espf.h add espf_override_options()
1422 * gcc/toplev.c add ESPF_OVERRIDE_OPTIONS
1423
1424 0.2.5 Magnus Granberg <zorry@×××.nu>
1425
1426 * gcc/config/i386/i386.h removed espf_cc1
1427 * gcc/config/i386/linux.h removed espf_cc1 %(crtend_gen)
1428 * gcc/config/i386/x86-64.h removed espf_cc1 %(crtend_gen)
1429 * gcc/config/linux.h removed espf_cc1 %(crtfile_gen)
1430 %(crtbegin_t_gen) %(crtend_gen)
1431 add crtbeginTS.o
1432 * gcc/config.in removed TARGET_LIBC_PROVIDES_PIE
1433 add HAVE_CRTBEGINTS
1434 * gcc/Makefile.in add ESPF_NOPIE_CFLAGS ESPF_NOSSP_CFLAGS to
1435 CRTSTUFF_T_CFLAGS
1436 add ESPF_NOSSP_CFLAGS to CRTSTUFF_T_CFLAGS_S
1437 * espf.h ESPF_CC1_SPEC renamed to ESPF_CC1_OPTIONS_SPEC
1438 add ESPF_LINK_SPEC
1439 ESPF_CC1_SSP_SPEC renamed to ESPF_CC1_OPTIONS_SSP_SPEC
1440 ESPF_CC1_PIE_SPEC renamed to ESPF_CC1_OPTIONS_PIE_SPEC
1441 ESPF_CC1_OPTIONS_SPEC renamed to ESPF_CC1_OPTIONS_PIE_INCOMPATIBLE_SPEC
1442 LINK_PIE_SPEC renamed to ESPF_LINK_COMMAND_SPEC
1443 removed ESPF_CC1_STRICT_SPEC CRTFILE_GEN_SPEC CRTBEGIN_GEN_SPEC
1444 CRTBEGIN_T_GEN_SPEC CRTEND_GEN_SPEC
1445 * gcc/configure remove TARGET_LIBC_PROVIDES_PIE
1446 define HAVE_CRTBEGINTS
1447 * gcc/gcc.c LINK_COMMAND_SPEC add %(espf_link)
1448 main() add do_self_spec (espf_link_command_spec)
1449
1450 0.2.4 Magnus Granberg <zorry@×××.nu>
1451
1452 libgcc/Makefile.in clean specs
1453
1454 0.2.3 Magnus Granberg <zorry@×××.nu>
1455
1456 *gcc/espf.h add ESPF_CC1_STRICT_SPEC
1457
1458 0.2.2 Magnus Granberg <zorry@×××.nu>
1459
1460 * gcc/config/i386/i386.h Add espf_cc1
1461 Add ESPF_EXTRA_SPECS
1462 * gcc/config/i386/linux.h Add espf_cc1
1463 * gcc/config/i386/x86-64.h Add espf_cc1
1464 * gcc/config/linux.h Add espf_cc1
1465 * gcc/Makefile.in add crtbeginTS.o to EXTRA_PARTS list
1466 * libgcc/Makefile.in add crtbeginTS.o to EXTRA_PARTS list
1467 * gcc/configure add define ENABLE_LIBSSP
1468 * gcc/gcc.c %(fortify_default) renamed to %(espf_cpp_unique_options)
1469 %(pie_incompatible) renamed to %(espf_cc1_options)
1470 removed ESPF_EXTRA_SPECS
1471 * gcc/espf.h ESPF_DEFAULT_SPEC renamed to ESPF_CC1_SPEC
1472 SSP_DEFAULT_SPEC renamed to ESPF_CC1_SSP_SPEC
1473 FORTIFY_DEFAULT_SPEC renamed to ESPF_CPP_UNIQUE_OPTIONS
1474 PIE_DEFAULT_SPEC renamed to ESPF_CC1_PIE_SPEC
1475 PIE_INCOMPATIBLE_SPEC renamed to ESPF_CC1_OPTIONS_SPEC
1476 add new CRTFILE_GEN_SPEC CRTBEGIN_T_GEN_SPEC CRTEND_GEN_SPEC if !
1477 TARGET_LIBC_PROVIDES_PIE
1478
1479 4.4.0-espf-0.2.1 Magnus Granberg <zorry@×××.nu>
1480
1481 * gcc/gcc.c include: espf.h
1482 cc1_spec = CC1_SPEC if not ENABLE_ESPF
1483 cpp_unique_options add %(fortify_default)
1484 cc1_options add %(pie_incompatible)
1485 EXTRA_SPECS add ESPF_EXTRA_SPECS
1486 * libgcc/Makefile.in add crtbeginTs.o
1487 gcc/Makefile.in add ESPF_NOPIE_CFLAGS and ESPF_NOSSP_CFLAGS
1488 LIBGCC2_CFLAGS add ESPF_NOSSP_CFLAGS
1489 CRTSTUFF_CFLAGS add ESPF_NOPIE_CFLAGS and ESPF_NOSSP_CFLAGS
1490 crtbegin* add crtbeginTS
1491 $(out_object_file): ix86_split_to_parts() stack smashing attack b.g.o #149292
1492 * libgcc/configure add enable_espf
1493 * gcc/config/linux.h add %(crtfile_gen) %(crtbegin_t_gen) %(crtend_gen)
1494 * gcc/config/i386/linux.h add %(crtend_gen)
1495 * gcc/config/i386/linux64.h add %(crtend_gen)
1496 * gcc/config.gcc extra_parts add crtbeginTS.o
1497 * libgcc/config.host extra_parts add crtbeginTS.o
1498 * gcc/configure check -z relro
1499 check -z now
1500 check FORTIFY_SOURCES level 2
1501 check Scrt1.o
1502 check --enable-espf
1503 check crtbeginTS.o
1504 * gcc/espf.h new file
1505 * gcc/varasm.c (decl_tls_model): Check flag_pic instead of flag_shlib
1506 * gcc/config.in add ENABLE_LIBSSP
1507 add ENABLE_ESPF
1508 add TARGET_LIBC_PROVIDES_FORTIFY2
1509 add TARGET_LIBC_PROVIDES_PIE
1510 * configure define ENABLE_LIBSSP
1511
1512 gcc-4.3.3-piepatches-v10.2.1
1513
1514
1515
1516 1.1 src/patchsets/gcc/4.8.0/pie/README.Gentoo.patches
1517
1518 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/README.Gentoo.patches?rev=1.1&view=markup
1519 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/README.Gentoo.patches?rev=1.1&content-type=text/plain
1520
1521 Index: README.Gentoo.patches
1522 ===================================================================
1523 ================
1524 === W[hat]TF ===
1525 ================
1526
1527 Gentoo patchsets that have grown too large to keep on the rsync mirrors have
1528 been moved to our git tree. From there, we bundle up all the whee little
1529 patches into a tarball and distribute it via our public mirroring system.
1530
1531 If you want specific info about a patch (like wtf it does or whose great idea
1532 it was to change the code), read the patch ! We try to fill out the top of
1533 them with useful info such as what it does, why it's needed, bug reports,
1534 original creators, etc... For simple patches, we reserve the right to assume
1535 your IQ is greater than absolute 0 and figure out what it does w/out an
1536 explanation. If, by some miracle of science, it falls below the absolute 0
1537 mark, you should help mankind by finding some scientists and letting them
1538 probe you with their ... erm ... probes.
1539
1540 =================
1541 === W[here]TF ===
1542 =================
1543
1544 For those with git access
1545 git://git.overlays.gentoo.org/proj/hardened-gccpatchset.git
1546
1547 For those w/out git access, this URL should help you:
1548 http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-gccpatchset.git;a=summary
1549
1550 It should be pretty easy to find your way around, you're a big boy after all.
1551
1552
1553
1554 1.1 src/patchsets/gcc/4.8.0/pie/README.history
1555
1556 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/README.history?rev=1.1&view=markup
1557 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.0/pie/README.history?rev=1.1&content-type=text/plain
1558
1559 Index: README.history
1560 ===================================================================
1561 0.5.5 31 Mar 2013
1562 - 01_all_gcc47_configure.patch
1563 + 01_all_gcc48_configure.patch
1564 - 02_all_gcc47_config.in.patch
1565 + 02_all_gcc48_config.in.patch
1566 - 03_all_gcc47_Makefile.in.patch
1567 + 03_all_gcc48_Makefile.in.patch
1568 - 05_all_gcc47_gcc.c.patch
1569 - 05_all_gcc48_gcc.c.patch
1570 - 33_all_gcc46_config_rs6000_linux64.h.patch
1571 + 33_all_gcc48_config_rs6000.patch
1572 - 34_all_gcc47_config_all_gnu_user.patch
1573 + 34_all_gcc48_config_i386.patch
1574 + 35_all_gcc48_config_arm.patch
1575 + 36_all_gcc48_config_mips.patch
1576 + 37_all_gcc48_config_ia64.patch
1577 - 35_all_gcc47_config_esp.h.patch
1578 - 35_all_gcc48_config_esp.h.patch
1579 U README
1580 0.5.4 02 Oct 2012
1581 U 01_all_gcc47_configure.patch
1582 + 01_all_gcc47_configure.ac.patch
1583 0.5.3 06 Apr 2012
1584 U 01_all_gcc47_configure.patch
1585 + 02_all_gcc47_config.in.patch
1586 - 02_all_gcc45_config.in.patch
1587 + 06_all_gcc46_esp.h.patch
1588 - 06_all_gcc45_esp.h.patch
1589 0.5.2 24 Jan 2012
1590 + 16_all_gcc47_nopie_option.patch
1591 0.5.1 17 Jan 2012
1592 + 01_all_gcc47_configure.patch
1593 - 10_all_gcc45_configure.patch
1594 + 03_all_gcc47_Makefile.in.patch
1595 - 12_all_gcc46_Makefile.in.patch
1596 + 02_all_gcc45_config.in.patch
1597 - 11_all_gcc45_config.in.patch
1598 + 05_all_gcc46_gcc.c.patch
1599 - 20_all_gcc46_gcc.c.patch
1600 + 06_all_gcc45_esp.h.patch
1601 - 30_all_gcc45_esp.h.patch
1602 + 10_all_gcc46_default-ssp.patch
1603 - 22_all_gcc46-default-ssp.patch
1604 + 15_all_gcc44_decl-tls-model.patch
1605 - 21_all_gcc44_decl-tls-model.patch
1606 + 20_all_gcc46_config_crtbeginp.patch
1607 - 35_all_gcc46_config_crtbegints.patch
1608 + 24_all_gcc44_invoke.texi.patch
1609 + 60_all_gcc44_invoke.texi.patch
1610 0.5.0 07 Dec 2011
1611 + 35_all_gcc46_config_crtbeginp.patch
1612 - 35_all_gcc46_config_crtbegints.patch
1613 U 10_all_gcc45_configure.patch
1614 U 12_all_gcc46_Makefile.in.patch
1615 + 11_all_gcc45_config.in.patch
1616 - 11_all_gcc44_config.in.patch
1617 + 30_all_gcc45_esp.h.patch
1618 - 30_all_gcc44_esp.h.patch
1619 0.4.9 09 Nov 2011
1620 U 12_all_gcc46_Makefile.in.patch
1621 0.4.8 26 Mar 2011
1622 U 22_all_gcc46-default-ssp.patch
1623 0.4.7 05 Mar 2011
1624 U 20_all_gcc46_gcc.c.patch
1625 + 22_all_gcc46-default-ssp.patch
1626 - 30_all_gcc46_esp.h.patch
1627 + 30_all_gcc44_esp.h.patch
1628 U 33_all_gcc46_config_rs6000_linux64.h.patch
1629 U 35_all_gcc46_config_crtbegints.patch
1630 0.4.6 07 Jan 2011
1631 + 12_all_gcc46_Makefile.in.patch
1632 - 12_all_gcc44_Makefile.in.patch
1633 + 20_all_gcc46_gcc.c.patch
1634 - 20_all_gcc44_gcc.c.patch
1635 + 30_all_gcc46_esp.h.patch
1636 - 30_all_gcc44_esp.h.patch
1637 + 33_all_gcc46_config_rs6000_linux64.h.patch
1638 - 33_all_gcc45_config_rs6000_linux64.h.patch
1639 + 35_all_gcc46_config_crtbegints.patch
1640 - 35_all_gcc44_config_crtbegints.patch
1641 - 40_all_gcc44_obj_lang-specs.h.patch
1642 - 40_all_gcc44_objp_lang-specs.h.patch
1643 - 40_all_gcc44_cp_lang-specs.h.patch
1644 0.4.5 18 Jun 2010
1645 U 35_all_gcc44_config_crtbegints.patch
1646 0.4.4 26 May 2010
1647 U 30_all_gcc44_esp.h.patch
1648 0.4.3 26 May 2010
1649 U 20_all_gcc44_gcc.c.patch
1650 U 30_all_gcc44_esp.h.patch
1651 0.4.2 24 May 2010
1652 U 10_all_gcc44_configure.patch
1653 U 12_all_gcc44_Makefile.in.patch
1654 U 11_all_gcc44_config.in.patch
1655 U 30_all_gcc44_esp.h.patch
1656 0.4.1 29 Apr 2010
1657 U 10_all_gcc45_configure.patch
1658 U 12_all_gcc45_Makefile.in.patch
1659 U 11_all_gcc44_config.in.patch
1660 U 30_all_gcc44_esp.h.patch
1661
1662 0.4.0 19 Apr 2010
1663 U 10_all_gcc45_configure.patch
1664 U 12_all_gcc45_Makefile.in.patch
1665 U 11_all_gcc44_config.in.patch
1666 U 20_all_gcc45_gcc.c.patch
1667 - 30_all_gcc44_espf.h.patch
1668 + 30_all_gcc44_esp.h.patch
1669
1670 0.3.9 14 Apr 2010
1671 U 10_all_gcc45_configure.patch
1672 - 50_all_gcc44_no_ssp_tls_uclibc.patch
1673 U 33_all_gcc45_config_rs6000_linux64.h.patch
1674
1675 0.3.8 10 Apr 2010
1676 10_all_gcc44_configure.patch
1677 11_all_gcc44_config.in.patch
1678 20_all_gcc44_gcc.c.patch
1679 30_all_gcc44_espf.h.patch
1680
1681 0.3.7 10 Feb 2010
1682 20_all_gcc44_gcc.c.patch
1683 30_all_gcc44_espf.h.patch
1684 10_all_gcc44_configure.patch
1685
1686 0.3.6 23 Dec 2009
1687 - 10_all_gcc44_configure.patch
1688 + 10_all_gcc44_configure.patch
1689 - 30_all_gcc44_espf.h.patch
1690 + 30_all_gcc44_espf.h.patch
1691 - README.Changelog
1692 + README.Changelog
1693 - README.history
1694 + README.history
1695 - README
1696 + README
1697
1698 0.3.5 24 Sep 2009
1699 - 30_all_gcc44_espf.h.patch
1700 + 30_all_gcc44_espf.h.patch
1701 - 35_all_gcc44_config_crtbegints.patch
1702 + 35_all_gcc44_config_crtbegints.patch
1703 + 33_all_gcc44_config_rs6000_linux64.h.patch
1704 - README.Changelog
1705 + README.Changelog
1706 - README.history
1707 + README.history
1708 + README.Gentoo.patches
1709
1710 0.3.4 11 Sep 2009
1711 - 10_all_gcc44_configure.patch
1712 + 10_all_gcc44_configure.patch
1713 - 11_all_gcc44_config.in.patch
1714 + 11_all_gcc44_config.in.patch
1715 - 12_all_gcc44_Makefile.in.patch
1716 + 12_all_gcc44_Makefile.in.patch
1717 - 20_all_gcc44_gcc.c.patch
1718 + 20_all_gcc44_gcc.c.patch
1719 - 23_all_gcc44_opts.c.patch
1720 - 30_all_gcc44_espf.h.patch
1721 + 30_all_gcc44_espf.h.patch
1722 + 35_all_gcc44_config_crtbegints.patch
1723 + 60_all_gcc44_invoke.texi.patch
1724 - README.Changelog
1725 + README.Changelog
1726 - README.history
1727 + README.history
1728 - README
1729 + README
1730
1731 0.3.3 14 Aug 2009
1732 - 23_all_gcc44_opts.c.patch
1733 + 23_all_gcc44_opts.c.patch
1734
1735 0.3.2 09 Aug 2009
1736 + 50_all_gcc44_no_ssp_tls_uclibc.patch
1737 + README.Changelog
1738 + README.history
1739 - 23_all_gcc44_opts.c.patch
1740 + 23_all_gcc44_opts.c.patch
1741 - 30_all_gcc44-espf.h.patch
1742 + 30_all_gcc44-espf.h.patch
1743
1744 0.3.1 23 Jul 2009
1745 - 10_all_gcc44_configure.patch
1746 + 10_all_gcc44_configure.patch
1747
1748 0.3.0 23 Jul 2009
1749 - 10_all_gcc44_configure.patch
1750 + 10_all_gcc44_configure.patch
1751 - 11_all_gcc44_config.in.patch
1752 + 11_all_gcc44_config.in.patch
1753 - 12_all_gcc44_Makefile.in.patch
1754 + 12_all_gcc44_Makefile.in.patch
1755 - 20_all_gcc44_gcc.c.patch
1756 + 20_all_gcc44_gcc.c.patch
1757 + 40_all_gcc44_obj_lang-specs.h.patch
1758 + 40_all_gcc44_objp_lang-specs.h.patch
1759 + 40_all_gcc44_cp_lang-specs.h.patch
1760 - 50_all_gcc44_gentoo_v20090614.1.patch
1761 - 30_all_gcc44-espf.h.patch
1762 + 30_all_gcc44-espf.h.patch
1763
1764 0.2.9 14 Jun 2009
1765 - 12_all_gcc44_Makefile.in.patch
1766 + 12_all_gcc44_Makefile.in.patch
1767 - 30_all_gcc44-espf.h.patch
1768 + 30_all_gcc44-espf.h.patch
1769 - 50_all_gcc44_gentoo_v20090612.2.patch
1770 + 50_all_gcc44_gentoo_v20090614.1.patch
1771
1772 0.2.8 12 Jun 2009
1773 - 10_all_gcc44_configure.patch
1774 + 10_all_gcc44_configure.patch
1775 - 11_all_gcc44_config.in.patch
1776 + 11_all_gcc44_config.in.patch
1777 - 12_all_gcc44_Makefile.in.patch
1778 + 12_all_gcc44_Makefile.in.patch
1779 - 22_all_gcc44-toplev.c.patch
1780 - 25_all_gcc44-espf.h.patch
1781 + 30_all_gcc44-espf.h.patch
1782 + 50_all_gcc44_gentoo_v20090612.2.patch
1783
1784 0.2.7 29 May 2009
1785 - 11_all_gcc44_config.in.patch
1786 + 11_all_gcc44_config.in.patch
1787 - 12_all_gcc44_Makefile.in.patch
1788 + 12_all_gcc44_Makefile.in.patch
1789 - 20_all_gcc44_gcc.c.patch
1790 + 20_all_gcc44_gcc.c.patch
1791 + 23_all_gcc44_opts.c.patch
1792 - 25_all_gcc44-espf.h.patch
1793 + 25_all_gcc44-espf.h.patch
1794 - 30_all_gcc44-config-defaul-linux.patch
1795
1796 0.2.6 28 May 2009
1797 + 22_all_gcc44-toplev.c.patch
1798 - 25_all_gcc44-espf.h.patch
1799 + 25_all_gcc44-espf.h.patch
1800 - 30_all_gcc44-config-defaul-linux.patch
1801 + 30_all_gcc44-config-defaul-linux.patch
1802
1803 0.2.5 27 May 2009
1804 - 10_all_gcc44_configure.patch
1805 + 10_all_gcc44_configure.patch
1806 - 12_all_gcc44_Makefile.in.patch
1807 + 12_all_gcc44_Makefile.in.patch
1808 - 20_all_gcc44_gcc.c.patch
1809 + 20_all_gcc44_gcc.c.patch
1810 - 25_all_gcc44-espf.h.patch
1811 + 25_all_gcc44-espf.h.patch
1812 - 30_all_gcc44-config-defaul-linux.patch
1813 + 30_all_gcc44-config-defaul-linux.patch
1814 - 40_all_gcc44-gentoo.patch
1815
1816 0.2.4 08 May 2009
1817 - 12_all_gcc44_Makefile.in.patch
1818 + 12_all_gcc44_Makefile.in.patch
1819
1820 0.2.3 08 May 2009
1821 - 20_all_gcc44_gcc.c.patch
1822 + 20_all_gcc44_gcc.c.patch
1823 - 40_all_gcc44-gentoo.patch
1824 + 40_all_gcc44-gentoo.patch
1825
1826 0.2.2 04 May 2009
1827 + 10_all_gcc44_configure.patch
1828 + 11_all_gcc44_config.in.patch
1829 + 12_all_gcc44_Makefile.in.patch
1830 + 20_all_gcc44_gcc.c.patch
1831 + 21_all_gcc44_decl-tls-model.patch
1832 + 25_all_gcc44-espf.h.patch
1833 + 30_all_gcc44-config-defaul-linux.patch
1834 + 40_all_gcc44-gentoo.patch
1835 - 01_all_gcc44-configure.patch
1836 - 10_all_gcc44-gcc_configure.patch
1837 - 11_all_gcc44-gcc_config.in.patch
1838 - 12_all_gcc44-gcc_config.gcc.patch
1839 - 13_all_gcc44-gcc_Makefile.in.patch
1840 - 15_all_gcc44-libgcc_config.host.patch
1841 - 16_all_gcc44-libgcc_configure.patch
1842 - 17_all_gcc44-libgcc_Makefile.in.patch
1843 - 21_all_gcc44-gcc_espf.h.patch
1844 - 22_all_gcc44-gcc_gcc.c.patch
1845 - 23_all_gcc44-gcc_varasm.c.patch
1846 - 30_all_gcc44-add-crt-start-endfiles-linux.patch
1847
1848 0.2.1 28 Apr 2009
1849 + 01_all_gcc44-configure.patch
1850 + 10_all_gcc44-gcc_configure.patch
1851 + 11_all_gcc44-gcc_config.in.patch
1852 + 12_all_gcc44-gcc_config.gcc.patch
1853 + 13_all_gcc44-gcc_Makefile.in.patch
1854 + 15_all_gcc44-libgcc_config.host.patch
1855 + 16_all_gcc44-libgcc_configure.patch
1856 + 17_all_gcc44-libgcc_Makefile.in.patch
1857 + 21_all_gcc44-gcc_espf.h.patch
1858 + 22_all_gcc44-gcc_gcc.c.patch
1859 + 23_all_gcc44-gcc_varasm.c.patch
1860 + 30_all_gcc44-add-crt-start-endfiles-linux.patch
1861 - 00_all_gcc4.4-cvs-incompat.patch
1862 - 05_all_gcc4.4-compile-no-ssp.patch
1863 - 10_all_gcc4.4-hardened-minispecs-support.patch
1864 - 11_all_gcc4.4-decl-tls-model.patch
1865 - 12_all_gcc4.4-fortify-minispecs-support.patch
1866 - 20-all_gcc4.4-default-crt-start-endfile.patch
1867 - 30-all_gcc4.4-crtbeginTS-fno-PIE.patch
1868
1869 0.1.0 16 Apr 2009
1870 + 00_all_gcc4.4-cvs-incompat.patch
1871 + 05_all_gcc4.4-compile-no-ssp.patch
1872 + 10_all_gcc4.4-hardened-minispecs-support.patch
1873 + 11_all_gcc4.4-decl-tls-model.patch
1874 + 12_all_gcc4.4-fortify-minispecs-support.patch
1875 + 20-all_gcc4.4-default-crt-start-endfile.patch
1876 + 30-all_gcc4.4-crtbeginTS-fno-PIE.patch