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