Gentoo Archives: gentoo-commits

From: "Ryan Hill (dirtyepic)" <dirtyepic@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/gcc/4.8.1/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: Tue, 04 Jun 2013 05:21:20
Message-Id: 20130604052115.CC25A2171E@flycatcher.gentoo.org
1 dirtyepic 13/06/04 05:21:15
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 Initial 4.8.1 patchset based of latest 4.8.0 patchset.
21
22 Revision Changes Path
23 1.1 src/patchsets/gcc/4.8.1/pie/01_all_gcc48_configure.patch
24
25 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/02_all_gcc48_config.in.patch
300
301 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/03_all_gcc48_Makefile.in.patch
342
343 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/05_all_gcc48_gcc.c.patch
482
483 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/15_all_gcc44_decl-tls-model.patch
517
518 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/16_all_gcc47_nopie_option.patch
547
548 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/20_all_gcc46_config_crtbeginp.patch
573
574 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/24_all_gcc44_invoke.texi.patch
619
620 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/33_all_gcc48_config_rs6000.patch
673
674 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/34_all_gcc48_config_i386.patch
730
731 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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.1/pie/35_all_gcc48_config_arm.patch
796
797 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/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.1/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-06-03 Magnus Granberg <zorry@g.o>
803
804 * gcc/config/arm/arm.h (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPEC.
805 * gcc/config/arm/elf.h (SUBSUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
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 @@ -2326,6 +2326,11 @@ extern const char *host_detect_local_cpu
810 # define MCPU_MTUNE_NATIVE_SPECS ""
811 #endif
812
813 -#define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS
814 -
815 +#ifdef ENABLE_ESP
816 +# define DRIVER_SELF_SPECS \
817 + MCPU_MTUNE_NATIVE_SPECS, \
818 + ESP_DRIVER_SELF_SPEC
819 +#else
820 +# define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS
821 +#endif
822 #endif /* ! GCC_ARM_H */
823 --- a/gcc/config/arm/elf.h 2013-01-10 21:38:27.000000000 +0100
824 +++ b/gcc/config/arm/elf.h 2013-05-19 02:15:49.595855825 +0200
825 @@ -49,7 +49,11 @@
826 #endif
827
828 #undef SUBSUBTARGET_EXTRA_SPECS
829 +#ifdef ENABLE_ESP
830 +#define SUBSUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS
831 +#else
832 #define SUBSUBTARGET_EXTRA_SPECS
833 +#endif
834
835 #ifndef ASM_SPEC
836 #define ASM_SPEC "\
837
838
839
840 1.1 src/patchsets/gcc/4.8.1/pie/36_all_gcc48_config_mips.patch
841
842 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/36_all_gcc48_config_mips.patch?rev=1.1&view=markup
843 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/36_all_gcc48_config_mips.patch?rev=1.1&content-type=text/plain
844
845 Index: 36_all_gcc48_config_mips.patch
846 ===================================================================
847 2013-04-01 Magnus Granberg <zorry@g.o>
848
849 * gcc/config/mips/gnu-user.h (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPEC.
850 * gcc/config/mips/gnu-user64.h (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPEC.
851 * gcc/config/mips/mips.h (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
852
853 --- a/gcc/config/mips/gnu-user.h 2013-01-10 21:38:27.000000000 +0100
854 +++ b/gcc/config/mips/gnu-user.h 2013-03-10 22:37:33.743176388 +0100
855 @@ -125,9 +125,16 @@ extern const char *host_detect_local_cpu
856 "%{mabi=64:%{!msym32:%<mplt}}"
857
858 #undef DRIVER_SELF_SPECS
859 +#ifdef ENABLE_ESP
860 #define DRIVER_SELF_SPECS \
861 BASE_DRIVER_SELF_SPECS, \
862 + ESP_DRIVER_SELF_SPEC, \
863 LINUX_DRIVER_SELF_SPECS
864 +# else
865 +#define DRIVER_SELF_SPECS \
866 + BASE_DRIVER_SELF_SPECS, \
867 + LINUX_DRIVER_SELF_SPECS
868 +#endif
869
870 /* Similar to standard Linux, but adding -ffast-math support. */
871 #undef GNU_USER_TARGET_MATHFILE_SPEC
872 --- a/gcc/config/mips/gnu-user64.h 2013-01-10 21:38:27.000000000 +0100
873 +++ b/gcc/config/mips/gnu-user64.h 2013-03-10 22:32:11.209166777 +0100
874 @@ -26,9 +26,16 @@ along with GCC; see the file COPYING3.
875 " %{!mabi=*: -" MULTILIB_ABI_DEFAULT "}"
876
877 #undef DRIVER_SELF_SPECS
878 +#ifdef ENABLE_ESP
879 #define DRIVER_SELF_SPECS \
880 BASE_DRIVER_SELF_SPECS, \
881 + ESP_DRIVER_SELF_SPEC, \
882 LINUX64_DRIVER_SELF_SPECS
883 +# else
884 +#define DRIVER_SELF_SPECS \
885 + BASE_DRIVER_SELF_SPECS, \
886 + LINUX64_DRIVER_SELF_SPECS
887 +#endif
888
889 #undef GNU_USER_TARGET_LINK_SPEC
890 #define GNU_USER_TARGET_LINK_SPEC "\
891 --- a/gcc/config/mips/mips.h 2013-01-10 21:38:27.000000000 +0100
892 +++ b/gcc/config/mips/mips.h 2013-03-24 16:59:01.474513910 +0100
893 @@ -1197,9 +1197,13 @@ struct mips_cpu_info {
894 SUBTARGET_EXTRA_SPECS
895
896 #ifndef SUBTARGET_EXTRA_SPECS
897 +#ifdef ENABLE_ESP
898 +#define SUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS
899 +#else
900 #define SUBTARGET_EXTRA_SPECS
901 #endif
902 -
903 +#endif
904 +
905 #define DBX_DEBUGGING_INFO 1 /* generate stabs (OSF/rose) */
906 #define DWARF2_DEBUGGING_INFO 1 /* dwarf2 debugging info */
907
908
909
910
911 1.1 src/patchsets/gcc/4.8.1/pie/37_all_gcc48_config_ia64.patch
912
913 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/37_all_gcc48_config_ia64.patch?rev=1.1&view=markup
914 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/37_all_gcc48_config_ia64.patch?rev=1.1&content-type=text/plain
915
916 Index: 37_all_gcc48_config_ia64.patch
917 ===================================================================
918 2013-06-03 Magnus Granberg <zorry@g.o>
919
920 * gcc/config/ia64/linux.h Define DRIVER_SELF_SPECS ESP_DRIVER_SELF_SPEC.
921 * gcc/config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
922
923 --- a/gcc/config/ia64/linux.h 2013-01-10 21:38:27.000000000 +0100
924 +++ b/gcc/config/ia64/linux.h 2013-03-16 22:50:10.363049291 +0100
925 @@ -88,3 +88,7 @@ do { \
926
927 /* Define this to be nonzero if static stack checking is supported. */
928 #define STACK_CHECK_STATIC_BUILTIN 1
929 +
930 +#ifdef ENABLE_ESP
931 +#define DRIVER_SELF_SPECS ESP_DRIVER_SELF_SPEC
932 +#endif
933 --- a/gcc/config/ia64/ia64.h 2013-01-10 21:38:27.000000000 +0100
934 +++ b/gcc/config/ia64/ia64.h 2013-03-26 02:03:21.052061828 +0100
935 @@ -41,8 +41,12 @@ do { \
936 } while (0)
937
938 #ifndef SUBTARGET_EXTRA_SPECS
939 +#ifdef ENABLE_ESP
940 +#define SUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS
941 +#else
942 #define SUBTARGET_EXTRA_SPECS
943 #endif
944 +#endif
945
946 #define EXTRA_SPECS \
947 { "asm_extra", ASM_EXTRA_SPEC }, \
948
949
950
951 1.1 src/patchsets/gcc/4.8.1/pie/40_all_gcc48_config_esp.patch
952
953 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/40_all_gcc48_config_esp.patch?rev=1.1&view=markup
954 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/40_all_gcc48_config_esp.patch?rev=1.1&content-type=text/plain
955
956 Index: 40_all_gcc48_config_esp.patch
957 ===================================================================
958 2013-02-14 Magnus Granberg <zorry@g.o>
959
960 * gcc/esp.h New file to support --enable-esp
961 Version 20130214.1
962
963 --- gcc/config/esp.h 2010-04-09 16:14:00.000000000 +0200
964 +++ gcc/config/esp.h 2012-06-23 01:00:31.248348491 +0200
965 @@ -0,0 +1,127 @@
966 +/* License terms see GNU GENERAL PUBLIC LICENSE Version 3.
967 + * Version 20130214.1
968 + * Magnus Granberg (Zorry) <zorry@g.o> */
969 +#ifndef GCC_ESP_H
970 +#define GCC_ESP_H
971 +
972 +/* This file will add -fstack-protector-all, -fPIE, -pie and -z now
973 + as default if the defines and the spec allow it.
974 + Added a hack for gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass
975 + to support older hardened GCC patches and we don't need to change the code on gcc-specs-* and _filter-hardened.
976 + This will add some unsupported upstream commands options as -nopie and -nonow.
977 + -D__KERNEL__ is added so we don't have -fPIE, -pie and -fstack-protector-all when building kernels.
978 + ESP_CC1_SPEC is added to CC1_SPEC.
979 + ESP_CC1_STRICT_OVERFLOW_SPEC is added so we don't disable the strict-overflow check.
980 + ESP_LINK_PIE_CHECK_SPEC check for -pie, -p, -pg, -profile and -static.
981 + ENABLE_CRTBEGINP add support for crtbeginP.o, build -static with -fPIE or -fpie.
982 +*/
983 +#ifdef ENABLE_ESP
984 +
985 + /* Hack to support gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass */
986 + #define ESP_CC1_SPEC " %(esp_cc1_ssp) %(esp_cc1_pie) %(esp_cc1_strict_overflow)"
987 + #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP )
988 + #define ESP_CC1_SSP_SPEC "%{!fno-stack-protector: %{!fno-stack-protector-all: }}"
989 + #else
990 + #define ESP_CC1_SSP_SPEC ""
991 + #endif
992 + #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP )
993 + #define ESP_CC1_PIE_SPEC "%{!nopie: }"
994 + #else
995 + #define ESP_CC1_PIE_SPEC ""
996 + #endif
997 + #define ESP_CC1_STRICT_OVERFLOW_SPEC "%{!fstrict-overflow:%{!fno-strict-overflow: -fno-strict-overflow}}"
998 +
999 + /* ESP_LINK_SPEC is added to LINK_PIE_SPEC if esp is enable
1000 + -z now will be added if we don't have -vanilla spec. We do a -pie incompatible check
1001 + Don't remove the specs in the end */
1002 + #define ESP_LINK_SPEC "%(esp_link_now) %(esp_link_pie_check) "
1003 + #define ESP_LINK_NOW_SPEC "%{!nonow:-z now}"
1004 +
1005 + /* We use ESP_ESP_DRIVER_SELF_SPEC to add pie and ssp command-line options. */
1006 + #define ESP_DRIVER_SELF_SPEC "%{D__KERNEL__:;:%{!nopie:%(esp_options_pie) \
1007 + %(esp_link_pie)} %(esp_options_ssp) }"
1008 +
1009 + /* This will add -fstack-protector-all if we don't have -nostdlib -nodefaultlibs -fno-stack-protector -fstack-protector
1010 + -fstack-protector-all and we have EFAULT_SSP or EFAULT_PIE_SSP defined. */
1011 + #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP )
1012 + #define ESP_OPTIONS_SSP_SPEC \
1013 + "%{nostdlib|nodefaultlibs|fno-stack-protector| \
1014 + fstack-protector|fstack-protector-all:;:-fstack-protector-all}"
1015 + #else
1016 + #define ESP_OPTIONS_SSP_SPEC ""
1017 + #endif
1018 +
1019 + /* If EFAULT_PIE or EFAULT_PIE_SSP is defined we will add -fPIE -pie */
1020 + #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP )
1021 +
1022 + /* This will add -fPIE if we don't have -pie -fpic -fPIC -fpie -fPIE -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static
1023 + -nostdlib -nostartfiles. */
1024 + /* With ENABLE_CRTBEGINP we don't need to check for -static */
1025 + #ifdef ENABLE_CRTBEGINP
1026 + #define ESP_OPTIONS_PIE_SPEC \
1027 + "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \
1028 + %{!shared: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }"
1029 + #else
1030 + #define ESP_OPTIONS_PIE_SPEC \
1031 + "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \
1032 + %{!shared: %{!static: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }}"
1033 + #endif
1034 +
1035 + /* This will add -pie if we don't have -pie -A -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static -r -nostdlib
1036 + -nostartfiles */
1037 + /* With ENABLE_CRTBEGINP we don't need to check for -static
1038 + and we add -pie only to get the start and endfiles. -pie will not go to the linker. */
1039 + #ifdef ENABLE_CRTBEGINP
1040 + #define ESP_LINK_PIE_SPEC \
1041 + "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!r: \
1042 + %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}"
1043 + #else
1044 + #define ESP_LINK_PIE_SPEC \
1045 + "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!static:%{!r: \
1046 + %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}}"
1047 + #endif
1048 +
1049 + /* This will check if -pie is set when (-static) -pg -p -profile. If set it will make gcc print out
1050 + "-pie and (static)|pg|p|profile are incompatible when linking" */
1051 + /* With ENABLE_CRTBEGINP we don't need to check for -static */
1052 + #ifdef ENABLE_CRTBEGINP
1053 + #define ESP_LINK_PIE_CHECK_SPEC \
1054 + "%{pie:%{pg|p|profile:%e-pie and -pg|p|profile are incompatible when linking}}"
1055 + #else
1056 + #define ESP_LINK_PIE_CHECK_SPEC \
1057 + "%{pie:%{static|pg|p|profile:%e-pie and -static|pg|p|profile are incompatible when linking}}"
1058 + #endif
1059 +
1060 + /* We don't pass -pie to the linker when -static. */
1061 + #ifdef ENABLE_CRTBEGINP
1062 + #define LINK_PIE_SPEC "%{!static:%{pie:-pie}} %(esp_link)"
1063 + #else
1064 + #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)"
1065 + #endif
1066 +
1067 + #else
1068 + #define ESP_OPTIONS_PIE_SPEC ""
1069 + #define ESP_LINK_PIE_CHECK_SPEC ""
1070 + #define ESP_LINK_PIE_SPEC ""
1071 + #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)"
1072 + #endif
1073 +
1074 + /* We add extra spec name's to the EXTRA_SPECS list */
1075 + #define ESP_EXTRA_SPECS \
1076 + { "esp_cc1", ESP_CC1_SPEC }, \
1077 + { "esp_cc1_pie", ESP_CC1_PIE_SPEC }, \
1078 + { "esp_cc1_ssp", ESP_CC1_SSP_SPEC }, \
1079 + { "esp_cc1_strict_overflow", ESP_CC1_STRICT_OVERFLOW_SPEC }, \
1080 + { "esp_link", ESP_LINK_SPEC }, \
1081 + { "esp_link_now", ESP_LINK_NOW_SPEC }, \
1082 + { "esp_link_pie", ESP_LINK_PIE_SPEC }, \
1083 + { "esp_link_pie_check", ESP_LINK_PIE_CHECK_SPEC }, \
1084 + { "esp_driver_self", ESP_DRIVER_SELF_SPEC }, \
1085 + { "esp_options_pie", ESP_OPTIONS_PIE_SPEC }, \
1086 + { "esp_options_ssp", ESP_OPTIONS_SSP_SPEC }
1087 +
1088 + static const char *esp_driver_self_spec = ESP_DRIVER_SELF_SPEC;
1089 + static const char *cc1_spec = CC1_SPEC ESP_CC1_SPEC;
1090 +
1091 +#endif
1092 +#endif /* End GCC_ESP_H */
1093
1094
1095
1096 1.1 src/patchsets/gcc/4.8.1/pie/README
1097
1098 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/README?rev=1.1&view=markup
1099 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/README?rev=1.1&content-type=text/plain
1100
1101 Index: README
1102 ===================================================================
1103 This work started with bugs #94325 #100689 #106222 #149292 #149649 and the overlay on http://overlays.gentoo.org/dev/kevquinn.
1104 By Kevin K. Quinn, Peter S. Mazinger, Natanael Copa, Alexander Gabert, Solar, PaX Team, SpanKY and mentor.
1105
1106 The work stalled. Some threads on the Gentoo forum started to do their own fixes to get it working.
1107 Xake started the thread where most of the new work is done: "How long until hardened and toolchain will produce a hardened gcc4?"
1108 http://forums.gentoo.org/viewtopic-t-668885.html. I joined the thread and started to code.
1109
1110 We started with the pieworld code from kevquinn's overlay. The PIE and minispecs part hit the tree later on.
1111 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
1112 configure command line. On GCC 4.8.0 we use DRIVER_SELF_SPECS for the specs.
1113
1114 Thank you all:
1115 Kevin K. Quinn, Peter S. Mazinger, Natanael Copa, Alexander Gabert, Solar, PaX Team, SpanKY, Xake, Dwokfur,
1116 KernelOfTruth, SteveL, nixnut, Hopeless, forsaken1, XioXous, obrut<-, mv, qjim, Tommy[D], Genewb, radegand,
1117 unk, neuron, alexxy, hellboi64, likewhoa, g0rg0n, costel78, polsas, 7v5w7go9ub0o, uberpinguin, Naib, cilly,
1118 bonsaikitten, kerframil, agaffney, Gordon Malm, blueness, Matthias Klose, Kees Cook, mentor, Anarchy,
1119 devurandom and everyone else for helping to test, suggestions, fixes and anything else we have missed.
1120 /2013-03-31 Magnus Grenberg (Zorry) <zorry@g.o>
1121
1122
1123
1124 1.1 src/patchsets/gcc/4.8.1/pie/README.Changelog
1125
1126 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/README.Changelog?rev=1.1&view=markup
1127 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/README.Changelog?rev=1.1&content-type=text/plain
1128
1129 Index: README.Changelog
1130 ===================================================================
1131 0.5.6 Magnus Granberg <zorry@g.o>
1132
1133 * gcc/config/ia64/linux.h Change ESP_DRIVER_SELF_SPECS To ESP_DRIVER_SELF_SPEC
1134 * gcc/config/arm/elf.h (SUBSUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS.
1135
1136 0.5.5 Magnus Granberg <zorry@g.o>
1137
1138 * configure.ac Add mips
1139 * configure Regenerated
1140 * gcc/configure.ac Clean up the checksand add mips.
1141 * gcc/configure Regenerated
1142 * gcc/config.in Remove ENABLE_ESP_SSP
1143 * gcc/Makefile.in Bumped for 4.8.0 release
1144 * gcc/gcc.c Remove ESP_EXTRA_SPECS and
1145 ESP_COMMAND_OPTIONS_SPEC
1146 * gcc/config/rs6000/sysv4.h Add ESP_DRIVER_SELF_SPEC
1147 and ESP_EXTRA_SPECS
1148 * gcc/config/i386/gnu-user-common.h Add ESP_DRIVER_SELF_SPEC
1149 * gcc/config/i386/gnu-user.h Add ESP_DRIVER_SELF_SPEC
1150 * gcc/config/i386/i386.h Add ESP_DRIVER_SELF_SPEC
1151 * gcc/config/arm/arm.h Add ESP_DRIVER_SELF_SPEC and
1152 ESP_EXTRA_SPECS
1153 * gcc/config/mips/gnu-user.h Add ESP_DRIVER_SELF_SPEC
1154 * gcc/config/mips/gnu-user64.h Add ESP_DRIVER_SELF_SPEC
1155 * gcc/config/mips/mips.h Add ESP_EXTRA_SPECS
1156 * gcc/config/ia64/linux.h Add ESP_DRIVER_SELF_SPECS
1157 * gcc/config/ia64/ia64.h Add ESP_EXTRA_SPECS
1158 * gcc/config/esp.h Bump for ESP_DRIVER_SELF_SPEC support
1159
1160 0.5.4 Magnus Granberg <zorry@g.o>
1161
1162 #436924
1163 * configure.ac Add --enable-esp. Add -fno-stack-protector
1164 to stage1_cflags.
1165 * gcc/configure.ac Add --enable-esp and check if SSP works.
1166 Define ENABLE_ESP ENABLE_ESP_SSP.
1167 Check if we support crtbeginP and define ENABLE_CRTBEGINP.
1168 * gcc/configure Fix a typo
1169
1170 0.5.3 Magnus Granberg <zorry@g.o>
1171
1172 * gcc/configure Clean up the checks and added
1173 check for uclibc ssp support.
1174 * gcc/config.in Add define for ENABLE_ESP_SSP
1175 * gcc/esp.h Check for ENABLE_ESP_SSP
1176
1177 0.5.2 Magnus Granberg <zorry@g.o>
1178
1179 * gcc/common.opt Add -nopie
1180
1181 0.5.1 Magnus Granberg <zorry@g.o>
1182
1183 * configure Bumped for 4.7.0 release
1184 * gcc/configure Bumped for 4.7.0 release and
1185 added some checks.
1186 * gcc/Makefile Bumped for 4.7.0 release
1187 * gcc/gcc.c Bumped for 4.7.0 release
1188 * libgcc/Makefile Bumped for 4.7.0 release
1189
1190 0.5.0 Magnus Granberg <zorry@g.o>
1191
1192 #393321
1193 * gcc/Makefile.in Rename crtbeginTS.o to crtbeginP.o
1194 * gcc/config/gnu-user.h Rename crtbeginTS.o to crtbeginP.o
1195 * gcc/config/rs6000/sysv4.h Rename crtbeginTS.o to crtbeginP.o
1196 * gcc/esp.h Rename crtbeginTS.o to crtbeginP.o
1197 * gcc/configure Rename crtbeginTS.o to crtbeginP.o
1198 * gcc/config.in Rename crtbeginTS.o to crtbeginP.o
1199 * libgcc/Makefile.in Rename crtbeginTS.o to crtbeginP.o
1200
1201 0.4.9 Magnus Granberg <zorry@g.o>
1202
1203 #380823
1204 * gcc/Makefile.in added ESP_NOPIE_CFLAGS to ALL_CXXFLAGS
1205
1206 0.4.8 Magnus Granberg <zorry@g.o>
1207
1208 * gcc/objc/lang-specs.h Bumped for gcc 4.6.0 release
1209 * gcc/objcp/lang-specs.h Bumped for gcc 4.6.0 release
1210 * gcc/cp/lang-specs.h Bumped for gcc 4.6.0 release
1211
1212 0.4.7 Magnus Granberg <zorry@g.o>
1213
1214 * gcc/gcc.c Add %(esp_options) and %(esp_cpp_options)
1215 * gcc/esp.h Use the esp.h patch from gcc-4.4 patchset
1216 * gcc/config/rs6000/linux64.h Bumed for >2011-02-26 snapshot
1217 * gcc/objc/lang-specs.h Add %(esp_options)
1218 * gcc/objcp/lang-specs.h Add %(esp_options)
1219 * gcc/cp/lang-specs.h Add %(esp_options)
1220 * gcc/config/gnu-user.h Add crtbeginTS.o support
1221
1222 0.4.6 Magnus Granberg <zorry@g.o>
1223
1224 * Makefile.in Bumped for gcc 4.6
1225 * gcc/Makefile.in Bumped for gcc 4.6
1226 added ESP_NOPIE_CFLAGS to ALL_CFLAGS
1227 remove any ESP_NOSSP_CFLAGS
1228 remove any ESP_NOPIE_CFLAGS from crt* when not needed
1229 * gcc/gcc.c Bumped for gcc 4.6
1230 moved espf_options_ssp to espf_command_options_spec
1231 * gcc/esp.h Added espf_options_ssp to espf_cc1_command_spec
1232 * gcc/config/rs6000/linux64.h Bumped for gcc 4.6
1233 * gcc/config/linux.h Bumped for gcc 4.6
1234
1235 0.4.5 Magnus Granberg <zorry@g.o>
1236
1237 * gcc/config/rs6000/sysv4.h Fix a typo in the static spec rules
1238
1239 0.4.4 Magnus Granberg <zorry@g.o>
1240
1241 * gcc/esp.h Renamed ESP_CC1_STRICT_SPEC to ESP_CC1_STRICT_OVERFLOW_SPEC
1242 Renamed ESP_OPTIONS_PIE_CHECK_SPEC to ESP_LINK_PIE_CHECK_SPEC
1243
1244 0.4.3 Magnus Granberg <zorry@g.o>
1245
1246 #299061 b.g.o
1247 * gcc/gcc.c removed the pie incompatible specs rule call
1248 * gcc/esp.h Move the -pie incompatible check to esp_link
1249 remove the -shared incompatible check
1250
1251 0.4.2 Magnus granberg <zorry@g.o>
1252
1253 * configure remove the changes from 0.4.1
1254 * Makefile.in remove the changes from 0.4.1 remove -fstack-protector check.
1255 * gcc/configure remove the changes from 0.4.1
1256 * gcc/config.in remove the changes from 0.4.1 remove HAVE_GCC_SSP
1257 * gcc/Makefile remove the changes from 0.4.1
1258 * gcc/esp.h change HAVE_GCC_LD_PIE to (EFAULT_PIE || EFAULT_PIE_SSP)
1259 change HAVE_GCC_SSP to (EFAULT_SSP || EFAULT_PIE_SSP)
1260 * libmudflap/Makefiles.in remove the changes from 0.4.1
1261
1262 0.4.1 Magnus Granberg <zorry@g.o>
1263
1264 *configure removed check for --enable-esp removed enable_esp
1265 added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set
1266 *Makefile.in renamed enable_esp to enable_esp_set
1267 *gcc/configure removed check for --enable-esp removed enable_esp
1268 added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set
1269 added a -fPIE -pie check. change AC_COMPILE_IFELSE to AC_LINK_IFELSE in the
1270 -fstack-protector check.
1271 * gcc/config.in Added HAVE_GCC_LD_PIE
1272 *gcc/Makefile.in renamed enable_esp to enable_esp_set
1273 *gcc/esp.h Renamed HAVE_LD_PIE to HAVE_GCC_LD_PIE
1274 Added HAVE_GCC_LD_PIE to #define ESP_CC1_PIE_SPEC. Move ESP_COMMAND_OPTIONS_SPEC
1275 * libmudflap/Makefiles.in In enable_esp change ifeq to ifdef.
1276
1277 #293843 b.g.o
1278 *gcc/esp.h Added -nonow to the -z now specs.
1279
1280 0.4.0 Anthony G. Basile <basile@××××××××××××××.edu>
1281
1282 rename espf to esp and change espf-patchset to piepatchset
1283
1284 0.3.9 Magnus Granberg <zorry@g.o>
1285
1286 * gcc/configure Added check for TLS on the target in the SSP check.
1287
1288 #149292 b.g.o
1289 * gcc/config/i386/linux.h Removed uclibc don't support TLS on stack-protector
1290 * gcc/config/i386/linux64.h Removed uclibc don't support TLS on stack-protector
1291 * gcc/config/rs6000/linux.h Removed uclibc don't support TLS on stack-protector
1292 * gcc/config/i386/linux.h Removed uclibc don't support TLS on stack-protector
1293 * gcc/config/sparc/linux.h Removed uclibc don't support TLS on stack-protector
1294 * gcc/config/sparc/linux64.h Removed uclibc don't support TLS on stack-protector
1295
1296 0.3.8 Magnus Granberg <zorry@g.o>
1297
1298 * gcc/configure Redone the -fstack-protector check.
1299 * gcc/config.in Added HAVE_GCC_SSP
1300 * gcc/gcc.c Removed code for espf_link_spec in X
1301 * gcc/espf.h Added ifdef HAVE_GCC_SSP, change code for espf_link_spec and link_pie_spec
1302
1303 0.3.7_beta Anthony G. Basile <basile@××××××××××××××.edu>
1304
1305 * gcc/configure Check if -fstack-protector is supported by gcc on ARCH
1306 Updated AC_SUBST enable_espf
1307 * gcc/Makefile.in Remove the fix for $(out_object_file): ix86_split_to_parts() stack smashing attack b.g.o #149292.
1308 * gcc/gcc.c Updaded the .c .cc compiler specs.
1309
1310 0.3.6 Magnus Granberg <zorry@×××.nu>
1311
1312 * configure Check --enable-espf change ppc* to powerpc*, powerpc64 and add ia64.
1313 * gcc/configure Don't check for -z,relro on ia64. Disable crtbeginTS for ia64.
1314 * gcc/espf.h ia64 don't support -fstack-protector*
1315
1316 0.3.5 Maguns Granberg <zorry@×××.nu>
1317
1318 * gcc/espf.h Change the specs for crtbegin.TS.o.
1319 * gcc/gcc.c Rename espf_cc1_options to espf_options_pie_check.
1320 * gcc/config/linux.h Fix typos ENABLE_CRTBEGINS to ENABLE_CRTBEGINTS
1321 * gcc/config/rs6000/linux64.h ASM_SPEC32: %{fpic:-K PIC} %{fPIC:-K PIC} to
1322 %{fpic|fPIC|fpie|fPIE:-K PIC}
1323
1324 0.3.4 Magnus Granberg <zorry@×××.nu>
1325
1326 * gcc/configure Add crtbeginTS.o support.
1327 * gcc/Makefile.in Add crtbeginTS.o support.
1328 * gcc/gcc.c Add espf_cc1_options.
1329 * gcc/espf.h Added espf_cc1_options, crtbeginTS.o support,
1330 espf_cc1_options and espf_cc1_strictoverflow.
1331 * gcc/config.in Add crtbeginTS.o support.
1332 * gcc/config/linux.h Add crtbeginTS.o support.
1333 * gcc/config/rs6000/sysv4.h Add crtbeginTS.o support.
1334 * gcc/doc/invoke.texi Add NOTES about -fstack-protector-all,
1335 -pie and -fPIE.
1336 * libgcc/Makefile.in Add crtbeginTS.o support.
1337
1338 0.3.3 Magnus Granberg <zorry@×××.nu>
1339
1340 * gcc/opts.c change #ifdef ENABLE_ESPF to #ifndef ENABLE_ESPF
1341
1342 0.3.2 Magnus Granberg <zorry@×××.nu>
1343
1344 * gcc/opts.c disable flag_delete_null_pointer_checks >= -O2
1345 * gcc/espf.h add ESPF_CC1_SSP_SPEC and ESPF_CC1_PIE_SPEC to fix bugs on -vanilla spec
1346
1347 #149292 b.g.o
1348 * gcc/config/i386/linux.h uclibc don't support TLS on stack-protector
1349 * gcc/config/i386/linux64.h uclibc don't support TLS on stack-protector
1350 * gcc/config/rs6000/linux.h uclibc don't support TLS on stack-protector
1351 * gcc/config/i386/linux.h uclibc don't support TLS on stack-protector
1352 * gcc/config/sparc/linux.h uclibc don't support TLS on stack-protector
1353 * gcc/config/sparc/linux64.h uclibc don't support TLS on stack-protector
1354
1355 0.3.1 Magnus Granberg <zorry@×××.nu>
1356
1357 * gcc/cp/Make-lang.in cc1plus: pch test fail when cc1plus is compile with -fPIE.
1358 * gcc/configure fix --enable-espf when USE"-hardened"
1359
1360 4.4.1-espf-0.3.0 Magnus Granberg <zorry@×××.nu>
1361
1362 * gcc/espf.h add ESPF_LINK_SPEC ESPF_LINK_NOW_SPEC
1363 * gcc/gcc.c move do_self_spec (espf_command_options_spec)
1364 do_spec_1() add espf_link_spec
1365
1366 0.3.0 Magnus Granberg <zorry@×××.nu>
1367
1368 * gcc/objc/lang-specs.h Add %(espf_options)
1369 * gcc/objcp/lang-specs.h Add %(espf_options)
1370 * gcc/cp/lang-specs.h Add %(espf_options)
1371 * gcc/config.in removed ENABLE_LIBSSP
1372 * Makefile.in We add -fno-stack-protector to
1373 BOOT_CFLAGS, LIBCFLAGS and LIBCXXFLAGS
1374 cc1: pch.exp test fail when cc1 is compile with -fPIE
1375 * libmudflap/Makefiles.in Add -fno-stack-protector -U_FORTIFY_SOURCE
1376 to AM_CFLAGS
1377 * configure add --enable-espf
1378 add -fno-stack-protector to stage1_cflags
1379 add targes ppc* arm sparc*
1380 * gcc/configure change code for check --enable-espf
1381 * libmudflap/configure add enable_espf
1382 * gcc/espf.h ESPF_CC1_OPTIONS_SPEC renamed to ESPF_OPTIONS_SPEC
1383 add ESPF_CPP_OPTIONS_SPEC ESPF_COMMAND_OPTIONS_SPEC
1384 ESPF_CC1_OPTIONS_SSP_SPEC renamed to ESPF_OPTIONS_SSP_SPEC
1385 ESPF_COMPILER_COMMAND_PIE_SPEC renamed to ESPF_OPTIONS_PIE_SPEC
1386 ESPF_LINK_COMMAND_PIE_SPEC renamed to ESPF_LINK_PIE_SPEC
1387 add !p !pg to ESPF_LINK_PIE_SPEC
1388 removed ESPF_LINK_SPEC ESPF_CC1_OPTIONS_PIE_INCOMPATIBLE_SPEC
1389 * gcc/gcc.c cpp_options add %(espf_cpp_options)
1390 compiler spec add %(espf_options)
1391 change code for ESPF_EXTRA_SPECS
1392 process_command(): Check for lazy, or now
1393 do_spec_1(): Add -z now and -z relro
1394 main() add do_self_spec (espf_command_options_spec)
1395 removed do_self_spec (espf_cc1_command_spec) do_self_spec (espf_link_command_spec)
1396
1397 0.2.9 Magnus Granberg <zorry@×××.nu>
1398
1399 * gcc/espf.h add ESPF_COMPILER_COMMAND_PIE_SPEC
1400 add ESPF_LINK_COMMAND_PIE_SPEC
1401 change ESPF_COMPILER_COMMAND_SPEC ESPF_LINK_COMMAND_SPEC
1402
1403 0.2.8 Magnus Granberg <zorry@×××.nu>
1404
1405 * gcc/configure removed check crtbeginTS.o
1406 * gcc/espf.h added notes
1407 add ESPF_CC1_SPEC
1408 removed ESPF_CPP_UNIQUE_OPTIONS espf_override_options()
1409 * gcc/gcc.c cc1_spec Set it to CC1_SPEC if ! ENABLE_ESPF
1410 * gcc/toplev.c removed ESPF_OVERRIDE_OPTIONS
1411
1412 0.2.7 Magnus Granberg <zorry@×××.nu>
1413
1414 * gcc/opts.c (decode_options): Remove flag_strict_overflow as opt2
1415 * gcc/config.in removed HAVE_CRTBEGINTS
1416 * gcc/Makefile removed crtbeginTS.o
1417 * libgcc/Makefile.in removed crtbeginTS.o
1418 * gcc/config/i386/i386.h removed espf_override_options ESPF_EXTRA_SPECS
1419 * gcc/config/linux.h remoevd crtbeginTS.o
1420 * gcc/espf.h ESPF_CC1_OPTIONS_PIE_SPEC renamed to ESPF_CC1_COMMAND_SPEC
1421 * gcc/gcc.c add ESPF_EXTRA_SPECS
1422 main() add do_self_spec (espf_cc1_command_spec)
1423
1424 0.2.6 Magnus Granberg <zorry@×××.nu>
1425
1426 * gcc/config/i386/i386.h add espf_override_options() to OVERRIDE_OPTIONS
1427 * gcc/espf.h add espf_override_options()
1428 * gcc/toplev.c add ESPF_OVERRIDE_OPTIONS
1429
1430 0.2.5 Magnus Granberg <zorry@×××.nu>
1431
1432 * gcc/config/i386/i386.h removed espf_cc1
1433 * gcc/config/i386/linux.h removed espf_cc1 %(crtend_gen)
1434 * gcc/config/i386/x86-64.h removed espf_cc1 %(crtend_gen)
1435 * gcc/config/linux.h removed espf_cc1 %(crtfile_gen)
1436 %(crtbegin_t_gen) %(crtend_gen)
1437 add crtbeginTS.o
1438 * gcc/config.in removed TARGET_LIBC_PROVIDES_PIE
1439 add HAVE_CRTBEGINTS
1440 * gcc/Makefile.in add ESPF_NOPIE_CFLAGS ESPF_NOSSP_CFLAGS to
1441 CRTSTUFF_T_CFLAGS
1442 add ESPF_NOSSP_CFLAGS to CRTSTUFF_T_CFLAGS_S
1443 * espf.h ESPF_CC1_SPEC renamed to ESPF_CC1_OPTIONS_SPEC
1444 add ESPF_LINK_SPEC
1445 ESPF_CC1_SSP_SPEC renamed to ESPF_CC1_OPTIONS_SSP_SPEC
1446 ESPF_CC1_PIE_SPEC renamed to ESPF_CC1_OPTIONS_PIE_SPEC
1447 ESPF_CC1_OPTIONS_SPEC renamed to ESPF_CC1_OPTIONS_PIE_INCOMPATIBLE_SPEC
1448 LINK_PIE_SPEC renamed to ESPF_LINK_COMMAND_SPEC
1449 removed ESPF_CC1_STRICT_SPEC CRTFILE_GEN_SPEC CRTBEGIN_GEN_SPEC
1450 CRTBEGIN_T_GEN_SPEC CRTEND_GEN_SPEC
1451 * gcc/configure remove TARGET_LIBC_PROVIDES_PIE
1452 define HAVE_CRTBEGINTS
1453 * gcc/gcc.c LINK_COMMAND_SPEC add %(espf_link)
1454 main() add do_self_spec (espf_link_command_spec)
1455
1456 0.2.4 Magnus Granberg <zorry@×××.nu>
1457
1458 libgcc/Makefile.in clean specs
1459
1460 0.2.3 Magnus Granberg <zorry@×××.nu>
1461
1462 *gcc/espf.h add ESPF_CC1_STRICT_SPEC
1463
1464 0.2.2 Magnus Granberg <zorry@×××.nu>
1465
1466 * gcc/config/i386/i386.h Add espf_cc1
1467 Add ESPF_EXTRA_SPECS
1468 * gcc/config/i386/linux.h Add espf_cc1
1469 * gcc/config/i386/x86-64.h Add espf_cc1
1470 * gcc/config/linux.h Add espf_cc1
1471 * gcc/Makefile.in add crtbeginTS.o to EXTRA_PARTS list
1472 * libgcc/Makefile.in add crtbeginTS.o to EXTRA_PARTS list
1473 * gcc/configure add define ENABLE_LIBSSP
1474 * gcc/gcc.c %(fortify_default) renamed to %(espf_cpp_unique_options)
1475 %(pie_incompatible) renamed to %(espf_cc1_options)
1476 removed ESPF_EXTRA_SPECS
1477 * gcc/espf.h ESPF_DEFAULT_SPEC renamed to ESPF_CC1_SPEC
1478 SSP_DEFAULT_SPEC renamed to ESPF_CC1_SSP_SPEC
1479 FORTIFY_DEFAULT_SPEC renamed to ESPF_CPP_UNIQUE_OPTIONS
1480 PIE_DEFAULT_SPEC renamed to ESPF_CC1_PIE_SPEC
1481 PIE_INCOMPATIBLE_SPEC renamed to ESPF_CC1_OPTIONS_SPEC
1482 add new CRTFILE_GEN_SPEC CRTBEGIN_T_GEN_SPEC CRTEND_GEN_SPEC if !
1483 TARGET_LIBC_PROVIDES_PIE
1484
1485 4.4.0-espf-0.2.1 Magnus Granberg <zorry@×××.nu>
1486
1487 * gcc/gcc.c include: espf.h
1488 cc1_spec = CC1_SPEC if not ENABLE_ESPF
1489 cpp_unique_options add %(fortify_default)
1490 cc1_options add %(pie_incompatible)
1491 EXTRA_SPECS add ESPF_EXTRA_SPECS
1492 * libgcc/Makefile.in add crtbeginTs.o
1493 gcc/Makefile.in add ESPF_NOPIE_CFLAGS and ESPF_NOSSP_CFLAGS
1494 LIBGCC2_CFLAGS add ESPF_NOSSP_CFLAGS
1495 CRTSTUFF_CFLAGS add ESPF_NOPIE_CFLAGS and ESPF_NOSSP_CFLAGS
1496 crtbegin* add crtbeginTS
1497 $(out_object_file): ix86_split_to_parts() stack smashing attack b.g.o #149292
1498 * libgcc/configure add enable_espf
1499 * gcc/config/linux.h add %(crtfile_gen) %(crtbegin_t_gen) %(crtend_gen)
1500 * gcc/config/i386/linux.h add %(crtend_gen)
1501 * gcc/config/i386/linux64.h add %(crtend_gen)
1502 * gcc/config.gcc extra_parts add crtbeginTS.o
1503 * libgcc/config.host extra_parts add crtbeginTS.o
1504 * gcc/configure check -z relro
1505 check -z now
1506 check FORTIFY_SOURCES level 2
1507 check Scrt1.o
1508 check --enable-espf
1509 check crtbeginTS.o
1510 * gcc/espf.h new file
1511 * gcc/varasm.c (decl_tls_model): Check flag_pic instead of flag_shlib
1512 * gcc/config.in add ENABLE_LIBSSP
1513 add ENABLE_ESPF
1514 add TARGET_LIBC_PROVIDES_FORTIFY2
1515 add TARGET_LIBC_PROVIDES_PIE
1516 * configure define ENABLE_LIBSSP
1517
1518 gcc-4.3.3-piepatches-v10.2.1
1519
1520
1521
1522 1.1 src/patchsets/gcc/4.8.1/pie/README.Gentoo.patches
1523
1524 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/README.Gentoo.patches?rev=1.1&view=markup
1525 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/README.Gentoo.patches?rev=1.1&content-type=text/plain
1526
1527 Index: README.Gentoo.patches
1528 ===================================================================
1529 ================
1530 === W[hat]TF ===
1531 ================
1532
1533 Gentoo patchsets that have grown too large to keep on the rsync mirrors have
1534 been moved to our git tree. From there, we bundle up all the whee little
1535 patches into a tarball and distribute it via our public mirroring system.
1536
1537 If you want specific info about a patch (like wtf it does or whose great idea
1538 it was to change the code), read the patch ! We try to fill out the top of
1539 them with useful info such as what it does, why it's needed, bug reports,
1540 original creators, etc... For simple patches, we reserve the right to assume
1541 your IQ is greater than absolute 0 and figure out what it does w/out an
1542 explanation. If, by some miracle of science, it falls below the absolute 0
1543 mark, you should help mankind by finding some scientists and letting them
1544 probe you with their ... erm ... probes.
1545
1546 =================
1547 === W[here]TF ===
1548 =================
1549
1550 For those with git access
1551 git://git.overlays.gentoo.org/proj/hardened-gccpatchset.git
1552
1553 For those w/out git access, this URL should help you:
1554 http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-gccpatchset.git;a=summary
1555
1556 It should be pretty easy to find your way around, you're a big boy after all.
1557
1558
1559
1560 1.1 src/patchsets/gcc/4.8.1/pie/README.history
1561
1562 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/README.history?rev=1.1&view=markup
1563 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.8.1/pie/README.history?rev=1.1&content-type=text/plain
1564
1565 Index: README.history
1566 ===================================================================
1567 0.5.6 03 Jun 2013
1568 U 35_all_gcc48_config_arm.patches
1569 U 37_all_gcc48_config_ia64.patch
1570 0.5.5 31 Mar 2013
1571 - 01_all_gcc47_configure.patch
1572 + 01_all_gcc48_configure.patch
1573 - 02_all_gcc47_config.in.patch
1574 + 02_all_gcc48_config.in.patch
1575 - 03_all_gcc47_Makefile.in.patch
1576 + 03_all_gcc48_Makefile.in.patch
1577 - 05_all_gcc47_gcc.c.patch
1578 - 05_all_gcc48_gcc.c.patch
1579 - 33_all_gcc46_config_rs6000_linux64.h.patch
1580 + 33_all_gcc48_config_rs6000.patch
1581 - 34_all_gcc47_config_all_gnu_user.patch
1582 + 34_all_gcc48_config_i386.patch
1583 + 35_all_gcc48_config_arm.patch
1584 + 36_all_gcc48_config_mips.patch
1585 + 37_all_gcc48_config_ia64.patch
1586 - 35_all_gcc47_config_esp.h.patch
1587 - 35_all_gcc48_config_esp.h.patch
1588 U README
1589 0.5.4 02 Oct 2012
1590 U 01_all_gcc47_configure.patch
1591 + 01_all_gcc47_configure.ac.patch
1592 0.5.3 06 Apr 2012
1593 U 01_all_gcc47_configure.patch
1594 + 02_all_gcc47_config.in.patch
1595 - 02_all_gcc45_config.in.patch
1596 + 06_all_gcc46_esp.h.patch
1597 - 06_all_gcc45_esp.h.patch
1598 0.5.2 24 Jan 2012
1599 + 16_all_gcc47_nopie_option.patch
1600 0.5.1 17 Jan 2012
1601 + 01_all_gcc47_configure.patch
1602 - 10_all_gcc45_configure.patch
1603 + 03_all_gcc47_Makefile.in.patch
1604 - 12_all_gcc46_Makefile.in.patch
1605 + 02_all_gcc45_config.in.patch
1606 - 11_all_gcc45_config.in.patch
1607 + 05_all_gcc46_gcc.c.patch
1608 - 20_all_gcc46_gcc.c.patch
1609 + 06_all_gcc45_esp.h.patch
1610 - 30_all_gcc45_esp.h.patch
1611 + 10_all_gcc46_default-ssp.patch
1612 - 22_all_gcc46-default-ssp.patch
1613 + 15_all_gcc44_decl-tls-model.patch
1614 - 21_all_gcc44_decl-tls-model.patch
1615 + 20_all_gcc46_config_crtbeginp.patch
1616 - 35_all_gcc46_config_crtbegints.patch
1617 + 24_all_gcc44_invoke.texi.patch
1618 + 60_all_gcc44_invoke.texi.patch
1619 0.5.0 07 Dec 2011
1620 + 35_all_gcc46_config_crtbeginp.patch
1621 - 35_all_gcc46_config_crtbegints.patch
1622 U 10_all_gcc45_configure.patch
1623 U 12_all_gcc46_Makefile.in.patch
1624 + 11_all_gcc45_config.in.patch
1625 - 11_all_gcc44_config.in.patch
1626 + 30_all_gcc45_esp.h.patch
1627 - 30_all_gcc44_esp.h.patch
1628 0.4.9 09 Nov 2011
1629 U 12_all_gcc46_Makefile.in.patch
1630 0.4.8 26 Mar 2011
1631 U 22_all_gcc46-default-ssp.patch
1632 0.4.7 05 Mar 2011
1633 U 20_all_gcc46_gcc.c.patch
1634 + 22_all_gcc46-default-ssp.patch
1635 - 30_all_gcc46_esp.h.patch
1636 + 30_all_gcc44_esp.h.patch
1637 U 33_all_gcc46_config_rs6000_linux64.h.patch
1638 U 35_all_gcc46_config_crtbegints.patch
1639 0.4.6 07 Jan 2011
1640 + 12_all_gcc46_Makefile.in.patch
1641 - 12_all_gcc44_Makefile.in.patch
1642 + 20_all_gcc46_gcc.c.patch
1643 - 20_all_gcc44_gcc.c.patch
1644 + 30_all_gcc46_esp.h.patch
1645 - 30_all_gcc44_esp.h.patch
1646 + 33_all_gcc46_config_rs6000_linux64.h.patch
1647 - 33_all_gcc45_config_rs6000_linux64.h.patch
1648 + 35_all_gcc46_config_crtbegints.patch
1649 - 35_all_gcc44_config_crtbegints.patch
1650 - 40_all_gcc44_obj_lang-specs.h.patch
1651 - 40_all_gcc44_objp_lang-specs.h.patch
1652 - 40_all_gcc44_cp_lang-specs.h.patch
1653 0.4.5 18 Jun 2010
1654 U 35_all_gcc44_config_crtbegints.patch
1655 0.4.4 26 May 2010
1656 U 30_all_gcc44_esp.h.patch
1657 0.4.3 26 May 2010
1658 U 20_all_gcc44_gcc.c.patch
1659 U 30_all_gcc44_esp.h.patch
1660 0.4.2 24 May 2010
1661 U 10_all_gcc44_configure.patch
1662 U 12_all_gcc44_Makefile.in.patch
1663 U 11_all_gcc44_config.in.patch
1664 U 30_all_gcc44_esp.h.patch
1665 0.4.1 29 Apr 2010
1666 U 10_all_gcc45_configure.patch
1667 U 12_all_gcc45_Makefile.in.patch
1668 U 11_all_gcc44_config.in.patch
1669 U 30_all_gcc44_esp.h.patch
1670
1671 0.4.0 19 Apr 2010
1672 U 10_all_gcc45_configure.patch
1673 U 12_all_gcc45_Makefile.in.patch
1674 U 11_all_gcc44_config.in.patch
1675 U 20_all_gcc45_gcc.c.patch
1676 - 30_all_gcc44_espf.h.patch
1677 + 30_all_gcc44_esp.h.patch
1678
1679 0.3.9 14 Apr 2010
1680 U 10_all_gcc45_configure.patch
1681 - 50_all_gcc44_no_ssp_tls_uclibc.patch
1682 U 33_all_gcc45_config_rs6000_linux64.h.patch
1683
1684 0.3.8 10 Apr 2010
1685 10_all_gcc44_configure.patch
1686 11_all_gcc44_config.in.patch
1687 20_all_gcc44_gcc.c.patch
1688 30_all_gcc44_espf.h.patch
1689
1690 0.3.7 10 Feb 2010
1691 20_all_gcc44_gcc.c.patch
1692 30_all_gcc44_espf.h.patch
1693 10_all_gcc44_configure.patch
1694
1695 0.3.6 23 Dec 2009
1696 - 10_all_gcc44_configure.patch
1697 + 10_all_gcc44_configure.patch
1698 - 30_all_gcc44_espf.h.patch
1699 + 30_all_gcc44_espf.h.patch
1700 - README.Changelog
1701 + README.Changelog
1702 - README.history
1703 + README.history
1704 - README
1705 + README
1706
1707 0.3.5 24 Sep 2009
1708 - 30_all_gcc44_espf.h.patch
1709 + 30_all_gcc44_espf.h.patch
1710 - 35_all_gcc44_config_crtbegints.patch
1711 + 35_all_gcc44_config_crtbegints.patch
1712 + 33_all_gcc44_config_rs6000_linux64.h.patch
1713 - README.Changelog
1714 + README.Changelog
1715 - README.history
1716 + README.history
1717 + README.Gentoo.patches
1718
1719 0.3.4 11 Sep 2009
1720 - 10_all_gcc44_configure.patch
1721 + 10_all_gcc44_configure.patch
1722 - 11_all_gcc44_config.in.patch
1723 + 11_all_gcc44_config.in.patch
1724 - 12_all_gcc44_Makefile.in.patch
1725 + 12_all_gcc44_Makefile.in.patch
1726 - 20_all_gcc44_gcc.c.patch
1727 + 20_all_gcc44_gcc.c.patch
1728 - 23_all_gcc44_opts.c.patch
1729 - 30_all_gcc44_espf.h.patch
1730 + 30_all_gcc44_espf.h.patch
1731 + 35_all_gcc44_config_crtbegints.patch
1732 + 60_all_gcc44_invoke.texi.patch
1733 - README.Changelog
1734 + README.Changelog
1735 - README.history
1736 + README.history
1737 - README
1738 + README
1739
1740 0.3.3 14 Aug 2009
1741 - 23_all_gcc44_opts.c.patch
1742 + 23_all_gcc44_opts.c.patch
1743
1744 0.3.2 09 Aug 2009
1745 + 50_all_gcc44_no_ssp_tls_uclibc.patch
1746 + README.Changelog
1747 + README.history
1748 - 23_all_gcc44_opts.c.patch
1749 + 23_all_gcc44_opts.c.patch
1750 - 30_all_gcc44-espf.h.patch
1751 + 30_all_gcc44-espf.h.patch
1752
1753 0.3.1 23 Jul 2009
1754 - 10_all_gcc44_configure.patch
1755 + 10_all_gcc44_configure.patch
1756
1757 0.3.0 23 Jul 2009
1758 - 10_all_gcc44_configure.patch
1759 + 10_all_gcc44_configure.patch
1760 - 11_all_gcc44_config.in.patch
1761 + 11_all_gcc44_config.in.patch
1762 - 12_all_gcc44_Makefile.in.patch
1763 + 12_all_gcc44_Makefile.in.patch
1764 - 20_all_gcc44_gcc.c.patch
1765 + 20_all_gcc44_gcc.c.patch
1766 + 40_all_gcc44_obj_lang-specs.h.patch
1767 + 40_all_gcc44_objp_lang-specs.h.patch
1768 + 40_all_gcc44_cp_lang-specs.h.patch
1769 - 50_all_gcc44_gentoo_v20090614.1.patch
1770 - 30_all_gcc44-espf.h.patch
1771 + 30_all_gcc44-espf.h.patch
1772
1773 0.2.9 14 Jun 2009
1774 - 12_all_gcc44_Makefile.in.patch
1775 + 12_all_gcc44_Makefile.in.patch
1776 - 30_all_gcc44-espf.h.patch
1777 + 30_all_gcc44-espf.h.patch
1778 - 50_all_gcc44_gentoo_v20090612.2.patch
1779 + 50_all_gcc44_gentoo_v20090614.1.patch
1780
1781 0.2.8 12 Jun 2009
1782 - 10_all_gcc44_configure.patch
1783 + 10_all_gcc44_configure.patch
1784 - 11_all_gcc44_config.in.patch
1785 + 11_all_gcc44_config.in.patch
1786 - 12_all_gcc44_Makefile.in.patch
1787 + 12_all_gcc44_Makefile.in.patch
1788 - 22_all_gcc44-toplev.c.patch
1789 - 25_all_gcc44-espf.h.patch
1790 + 30_all_gcc44-espf.h.patch
1791 + 50_all_gcc44_gentoo_v20090612.2.patch
1792
1793 0.2.7 29 May 2009
1794 - 11_all_gcc44_config.in.patch
1795 + 11_all_gcc44_config.in.patch
1796 - 12_all_gcc44_Makefile.in.patch
1797 + 12_all_gcc44_Makefile.in.patch
1798 - 20_all_gcc44_gcc.c.patch
1799 + 20_all_gcc44_gcc.c.patch
1800 + 23_all_gcc44_opts.c.patch
1801 - 25_all_gcc44-espf.h.patch
1802 + 25_all_gcc44-espf.h.patch
1803 - 30_all_gcc44-config-defaul-linux.patch
1804
1805 0.2.6 28 May 2009
1806 + 22_all_gcc44-toplev.c.patch
1807 - 25_all_gcc44-espf.h.patch
1808 + 25_all_gcc44-espf.h.patch
1809 - 30_all_gcc44-config-defaul-linux.patch
1810 + 30_all_gcc44-config-defaul-linux.patch
1811
1812 0.2.5 27 May 2009
1813 - 10_all_gcc44_configure.patch
1814 + 10_all_gcc44_configure.patch
1815 - 12_all_gcc44_Makefile.in.patch
1816 + 12_all_gcc44_Makefile.in.patch
1817 - 20_all_gcc44_gcc.c.patch
1818 + 20_all_gcc44_gcc.c.patch
1819 - 25_all_gcc44-espf.h.patch
1820 + 25_all_gcc44-espf.h.patch
1821 - 30_all_gcc44-config-defaul-linux.patch
1822 + 30_all_gcc44-config-defaul-linux.patch
1823 - 40_all_gcc44-gentoo.patch
1824
1825 0.2.4 08 May 2009
1826 - 12_all_gcc44_Makefile.in.patch
1827 + 12_all_gcc44_Makefile.in.patch
1828
1829 0.2.3 08 May 2009
1830 - 20_all_gcc44_gcc.c.patch
1831 + 20_all_gcc44_gcc.c.patch
1832 - 40_all_gcc44-gentoo.patch
1833 + 40_all_gcc44-gentoo.patch
1834
1835 0.2.2 04 May 2009
1836 + 10_all_gcc44_configure.patch
1837 + 11_all_gcc44_config.in.patch
1838 + 12_all_gcc44_Makefile.in.patch
1839 + 20_all_gcc44_gcc.c.patch
1840 + 21_all_gcc44_decl-tls-model.patch
1841 + 25_all_gcc44-espf.h.patch
1842 + 30_all_gcc44-config-defaul-linux.patch
1843 + 40_all_gcc44-gentoo.patch
1844 - 01_all_gcc44-configure.patch
1845 - 10_all_gcc44-gcc_configure.patch
1846 - 11_all_gcc44-gcc_config.in.patch
1847 - 12_all_gcc44-gcc_config.gcc.patch
1848 - 13_all_gcc44-gcc_Makefile.in.patch
1849 - 15_all_gcc44-libgcc_config.host.patch
1850 - 16_all_gcc44-libgcc_configure.patch
1851 - 17_all_gcc44-libgcc_Makefile.in.patch
1852 - 21_all_gcc44-gcc_espf.h.patch
1853 - 22_all_gcc44-gcc_gcc.c.patch
1854 - 23_all_gcc44-gcc_varasm.c.patch
1855 - 30_all_gcc44-add-crt-start-endfiles-linux.patch
1856
1857 0.2.1 28 Apr 2009
1858 + 01_all_gcc44-configure.patch
1859 + 10_all_gcc44-gcc_configure.patch
1860 + 11_all_gcc44-gcc_config.in.patch
1861 + 12_all_gcc44-gcc_config.gcc.patch
1862 + 13_all_gcc44-gcc_Makefile.in.patch
1863 + 15_all_gcc44-libgcc_config.host.patch
1864 + 16_all_gcc44-libgcc_configure.patch
1865 + 17_all_gcc44-libgcc_Makefile.in.patch
1866 + 21_all_gcc44-gcc_espf.h.patch
1867 + 22_all_gcc44-gcc_gcc.c.patch
1868 + 23_all_gcc44-gcc_varasm.c.patch
1869 + 30_all_gcc44-add-crt-start-endfiles-linux.patch
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
1877
1878 0.1.0 16 Apr 2009
1879 + 00_all_gcc4.4-cvs-incompat.patch
1880 + 05_all_gcc4.4-compile-no-ssp.patch
1881 + 10_all_gcc4.4-hardened-minispecs-support.patch
1882 + 11_all_gcc4.4-decl-tls-model.patch
1883 + 12_all_gcc4.4-fortify-minispecs-support.patch
1884 + 20-all_gcc4.4-default-crt-start-endfile.patch
1885 + 30-all_gcc4.4-crtbeginTS-fno-PIE.patch