1 |
dirtyepic 11/08/04 03:10:22 |
2 |
|
3 |
Added: 10_all_gcc45_configure.patch |
4 |
11_all_gcc44_config.in.patch |
5 |
12_all_gcc45_Makefile.in.patch |
6 |
20_all_gcc45_gcc.c.patch |
7 |
21_all_gcc44_decl-tls-model.patch |
8 |
30_all_gcc44_esp.h.patch |
9 |
33_all_gcc45_config_rs6000_linux64.h.patch |
10 |
35_all_gcc44_config_crtbegints.patch |
11 |
40_all_gcc44_cp_lang-specs.h.patch |
12 |
41_all_gcc44_objc_lang-specs.h.patch |
13 |
42_all_gcc44_objcp_lang-specs.h.patch |
14 |
60_all_gcc44_invoke.texi.patch README |
15 |
README.Changelog README.Gentoo.patches |
16 |
README.history |
17 |
Log: |
18 |
Initial 4.5.3 patchset based on latest 4.5.2 patchset. |
19 |
|
20 |
Revision Changes Path |
21 |
1.1 src/patchsets/gcc/4.5.3/pie/10_all_gcc45_configure.patch |
22 |
|
23 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/10_all_gcc45_configure.patch?rev=1.1&view=markup |
24 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/10_all_gcc45_configure.patch?rev=1.1&content-type=text/plain |
25 |
|
26 |
Index: 10_all_gcc45_configure.patch |
27 |
=================================================================== |
28 |
2010-05-25 Magnus Granberg <zorry@g.o>, Anthony G. Basile <basile@××××××××××××××.edu> |
29 |
|
30 |
* configure Add --enable-esp. Add-fno-stack-protector |
31 |
to stage1_cflags. |
32 |
* gcc/configure Add --enable-esp. Check -z now and -z relro. |
33 |
Define ENABLE_ESP. |
34 |
Check if we support crtbeginTS and define ENABLE_CRTBEGINTS. |
35 |
* libmudflap/configure Add AC_SUBST enable_esp. |
36 |
|
37 |
|
38 |
--- configure 2010-01-31 13:12:21.000000000 -0500 |
39 |
+++ configure 2010-02-07 14:29:51.000000000 -0500 |
40 |
@@ -707,6 +707,7 @@ |
41 |
CFLAGS |
42 |
CC |
43 |
target_subdir |
44 |
+enable_esp |
45 |
host_subdir |
46 |
build_subdir |
47 |
build_libsubdir |
48 |
@@ -934,6 +934,11 @@ |
49 |
--enable-FEATURE[=ARG] include FEATURE [ARG=yes] |
50 |
--enable-gold use gold instead of ld |
51 |
--enable-libada build libada directory |
52 |
+ --enable-esp |
53 |
+ Enable Stack protector, Position independent executable as |
54 |
+ default if we have suppot for it when compiling |
55 |
+ and link with -z relro and -z now as default. |
56 |
+ Linux targets supported i*86, x86_64, powerpc, powerpc64, ia64 and arm |
57 |
--enable-libssp build libssp directory |
58 |
--disable-ppl-version-check disable check for PPL version |
59 |
--disable-cloog-version-check disable check for CLooG version |
60 |
@@ -2145,6 +2150,25 @@ |
61 |
noconfigdirs="$noconfigdirs gnattools" |
62 |
fi |
63 |
|
64 |
+# Check whether --enable-esp was given and target have the support. |
65 |
+# Check whether --enable-esp or --disable-esp was given. |
66 |
+if test "${enable_esp+set}" = set; then |
67 |
+ enableval="$enable_esp" |
68 |
+ |
69 |
+ case $target in |
70 |
+ i?86*-*-linux* | x86_64*-*-linux* | powerpc-*-linux* | powerpc64-*-linux* | arm*-*-linux* | ia64-*-linux*) |
71 |
+ enable_esp=yes |
72 |
+ ;; |
73 |
+ *) |
74 |
+ { { echo "$as_me:$LINENO: error: *** --enable-esp is not supported on this $target target." >&5 |
75 |
+echo "$as_me: error: *** --enable-esp is not supported on this $target target." >&2;} |
76 |
+ { (exit 1); exit 1; }; } |
77 |
+ ;; |
78 |
+ esac |
79 |
+ |
80 |
+fi; |
81 |
+ |
82 |
+ |
83 |
# Check whether --enable-libssp was given. |
84 |
if test "${enable_libssp+set}" = set; then : |
85 |
enableval=$enable_libssp; ENABLE_LIBSSP=$enableval |
86 |
@@ -14266,6 +14290,9 @@ |
87 |
*) stage1_cflags="-g -J" ;; |
88 |
esac ;; |
89 |
esac |
90 |
+if test x$enable_esp = xyes; then |
91 |
+ stage1_cflags="$stage1_cflags -fno-stack-protector" |
92 |
+fi |
93 |
|
94 |
# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems. |
95 |
if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then |
96 |
--- gcc/configure 2010-01-31 10:01:53.000000000 -0500 |
97 |
+++ gcc/configure 2010-02-07 14:29:56.000000000 -0500 |
98 |
@@ -678,6 +678,8 @@ |
99 |
HOST_LIBS |
100 |
GGC |
101 |
libgcc_visibility |
102 |
+enable_esp |
103 |
+enable_crtbeginTS |
104 |
gcc_cv_readelf |
105 |
gcc_cv_objdump |
106 |
ORIGINAL_NM_FOR_TARGET |
107 |
@@ -24480,6 +24481,50 @@ |
108 |
;; |
109 |
esac |
110 |
|
111 |
+echo "$as_me:$LINENO: checking linker -z now support" >&5 |
112 |
+echo $ECHO_N "checking linker -z now support... $ECHO_C" >&6 |
113 |
+if test "${gcc_cv_ld_now+set}" = set; then |
114 |
+ echo $ECHO_N "(cached) $ECHO_C" >&6 |
115 |
+else |
116 |
+ gcc_cv_ld_now=no |
117 |
+if test $in_tree_ld = yes ; then |
118 |
+ if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \ |
119 |
+ && test $in_tree_ld_is_elf = yes; then |
120 |
+ gcc_cv_ld_now=yes |
121 |
+ fi |
122 |
+elif test x$gcc_cv_ld != x; then |
123 |
+ # Check if linker supports -z now options |
124 |
+ if $gcc_cv_ld --help 2>/dev/null | grep now > /dev/null; then |
125 |
+ gcc_cv_ld_now=yes |
126 |
+ fi |
127 |
+fi |
128 |
+ |
129 |
+fi |
130 |
+echo "$as_me:$LINENO: result: $gcc_cv_ld_now" >&5 |
131 |
+echo "${ECHO_T}$gcc_cv_ld_now" >&6 |
132 |
+ |
133 |
+echo "$as_me:$LINENO: checking linker -z relro support" >&5 |
134 |
+echo $ECHO_N "checking linker -z relro support... $ECHO_C" >&6 |
135 |
+if test "${gcc_cv_ld_relro+set}" = set; then |
136 |
+ echo $ECHO_N "(cached) $ECHO_C" >&6 |
137 |
+else |
138 |
+ gcc_cv_ld_relro=no |
139 |
+if test $in_tree_ld = yes ; then |
140 |
+ if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \ |
141 |
+ && test $in_tree_ld_is_elf = yes; then |
142 |
+ gcc_cv_ld_relro=yes |
143 |
+ fi |
144 |
+elif test x$gcc_cv_ld != x; then |
145 |
+ # Check if linker supports -z relro and -z norelro options |
146 |
+ if $gcc_cv_ld --help 2>/dev/null | grep relro > /dev/null; then |
147 |
+ gcc_cv_ld_relro=yes |
148 |
+ fi |
149 |
+fi |
150 |
+ |
151 |
+fi |
152 |
+echo "$as_me:$LINENO: result: $gcc_cv_ld_relro" >&5 |
153 |
+echo "${ECHO_T}$gcc_cv_ld_relro" >&6 |
154 |
+ |
155 |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --build-id support" >&5 |
156 |
$as_echo_n "checking linker --build-id support... " >&6; } |
157 |
if test "${gcc_cv_ld_buildid+set}" = set; then : |
158 |
@@ -24411,6 +23745,74 @@ |
159 |
|
160 |
fi |
161 |
|
162 |
+if test x$enable_esp = xyes ; then |
163 |
+case $target in |
164 |
+ ia64*-*-linux*) |
165 |
+ if test x$gcc_cv_ld_now = xyes; then |
166 |
+ enable_esp_ld=yes |
167 |
+ else |
168 |
+ enable_esp_ld=no |
169 |
+ fi |
170 |
+ ;; |
171 |
+ *-*-linux*) |
172 |
+ if test x$gcc_cv_ld_relro = xyes && test x$gcc_cv_ld_now = xyes; then |
173 |
+ enable_esp_ld=yes |
174 |
+ else |
175 |
+ enable_esp_ld=no |
176 |
+ fi |
177 |
+ ;; |
178 |
+ *) |
179 |
+ enable_esp_ld=no |
180 |
+ ;; |
181 |
+ esac |
182 |
+else |
183 |
+ enable_espf_ld=no |
184 |
+fi |
185 |
+if test x$enable_esp_ld = xyes; then |
186 |
+ |
187 |
+cat >>confdefs.h <<\_ACEOF |
188 |
+#define ENABLE_ESP 1 |
189 |
+_ACEOF |
190 |
+ |
191 |
+fi |
192 |
+ |
193 |
+if test x$enable_esp = xyes && test x$enable_esp_ld = xno; then |
194 |
+ { { echo "$as_me:$LINENO: error: *** --enable-esp is not supported. You don't have -z,relro or -z,now support in the linker." >&5 |
195 |
+echo "$as_me: error: *** --enable-esp is not supported. You don't have -z,relro or -z,now support in the linker." >&2;} |
196 |
+ { (exit 1); exit 1; }; } |
197 |
+fi |
198 |
+ |
199 |
+echo "$as_me:$LINENO: checking for crtbeginTS.o support" >&5 |
200 |
+echo $ECHO_N "checking for crtbeginTS.o support... $ECHO_C" >&6 |
201 |
+if test "${enable_crtbeginTS+set}" = set; then |
202 |
+ echo $ECHO_N "(cached) $ECHO_C" >&6 |
203 |
+else |
204 |
+ |
205 |
+if test x$enable_esp = xyes ; then |
206 |
+ case "$target" in |
207 |
+ ia64*-*-linux*) |
208 |
+ enable_crtbeginTS=no ;; |
209 |
+ *-*-linux*) |
210 |
+ if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then |
211 |
+ enable_crtbeginTS=yes |
212 |
+ fi |
213 |
+ ;; |
214 |
+ *) enable_crtbeginTS=no ;; |
215 |
+ esac |
216 |
+fi |
217 |
+ |
218 |
+fi |
219 |
+echo "$as_me:$LINENO: result: $enable_crtbeginTS" >&5 |
220 |
+echo "${ECHO_T}$enable_crtbeginTS" >&6 |
221 |
+ |
222 |
+if test x$enable_crtbeginTS = xyes; then |
223 |
+ |
224 |
+cat >>confdefs.h <<\_ACEOF |
225 |
+#define ENABLE_CRTBEGINTS 1 |
226 |
+_ACEOF |
227 |
+ |
228 |
+fi |
229 |
+ |
230 |
# Check if TFmode long double should be used by default or not. |
231 |
# Some glibc targets used DFmode long double, but with glibc 2.4 |
232 |
# and later they can use TFmode. |
233 |
--- libmudflap/configure 2009-12-05 12:18:53.000000000 -0500 |
234 |
+++ libmudflap/configure 2010-02-07 14:29:51.000000000 -0500 |
235 |
@@ -652,6 +652,7 @@ |
236 |
MAINTAINER_MODE_FALSE |
237 |
MAINTAINER_MODE_TRUE |
238 |
am__untar |
239 |
+enable_esp |
240 |
am__tar |
241 |
AMTAR |
242 |
am__leading_dot |
243 |
|
244 |
|
245 |
|
246 |
1.1 src/patchsets/gcc/4.5.3/pie/11_all_gcc44_config.in.patch |
247 |
|
248 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/11_all_gcc44_config.in.patch?rev=1.1&view=markup |
249 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/11_all_gcc44_config.in.patch?rev=1.1&content-type=text/plain |
250 |
|
251 |
Index: 11_all_gcc44_config.in.patch |
252 |
=================================================================== |
253 |
2010-05-24 Magnus Granberg <zorry@g.o> |
254 |
|
255 |
* gcc/config.in Add ENABLE_CRTBEGINTS and ENABLE_ESP |
256 |
|
257 |
--- gcc/config.in 2009-04-21 11:08:08.000000000 +0200 |
258 |
+++ gcc/config.in 2009-05-12 00:10:08.000000000 +0200 |
259 |
@@ -46,6 +46,12 @@ |
260 |
#endif |
261 |
|
262 |
|
263 |
+/* Define to 1 to enable crtbeginTS.o. */ |
264 |
+#ifndef USED_FOR_TARGET |
265 |
+#undef ENABLE_CRTBEGINTS |
266 |
+#endif |
267 |
+ |
268 |
+ |
269 |
/* Define to 1 to specify that we are using the BID decimal floating point |
270 |
format instead of DPD */ |
271 |
#ifndef USED_FOR_TARGET |
272 |
@@ -65,6 +65,12 @@ |
273 |
#endif |
274 |
|
275 |
|
276 |
+/* Define to 1 to enable esp. */ |
277 |
+#ifndef USED_FOR_TARGET |
278 |
+#undef ENABLE_ESP |
279 |
+#endif |
280 |
+ |
281 |
+ |
282 |
/* Define to 1 to enable fixed-point arithmetic extension to C. */ |
283 |
#ifndef USED_FOR_TARGET |
284 |
#undef ENABLE_FIXED_POINT |
285 |
|
286 |
|
287 |
|
288 |
1.1 src/patchsets/gcc/4.5.3/pie/12_all_gcc45_Makefile.in.patch |
289 |
|
290 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/12_all_gcc45_Makefile.in.patch?rev=1.1&view=markup |
291 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/12_all_gcc45_Makefile.in.patch?rev=1.1&content-type=text/plain |
292 |
|
293 |
Index: 12_all_gcc45_Makefile.in.patch |
294 |
=================================================================== |
295 |
2010-04-25 Magnus Granberg <zorry@g.o> Anthony G. Basile <basile@××××××××××××××.edu> |
296 |
|
297 |
* Makefile.in We add -fno-stack-protector to BOOT_CFLAGS, LIBCFLAGS and LIBCXXFLAGS if enable_esp yes. |
298 |
* gcc/Makefile.in Add -fno-PIE and -fno-stack-protector. |
299 |
Libgcc2 doesn't compile with -fstack-protector. |
300 |
Crtstuff doesn't compile with -fPIE and -fstack-protector. |
301 |
$(out_object_file): ix86_split_to_parts() stack smashing attack b.g.o #149292. |
302 |
Add crtbeginTS.o to EXTRA_PARTS if enable_crtbeginTS yes |
303 |
We add new file crtbeginTS.o if enable_crtbeginTS yes |
304 |
* libgcc/Makefile.in Add crtbeginTS.o to EXTRA_PARTS if enable_crtbeginTS yes |
305 |
We add new file crtbeginTS.o if enable_crtbeginTS yes |
306 |
|
307 |
2010-04-25 Magnus Granberg <zorry@g.o>, Kees Cook <kees@×××××××.net> |
308 |
|
309 |
LP #344502 |
310 |
* libmudflap/Makefiles.in Add -fno-stack-protector -U_FORTIFY_SOURCE |
311 |
to AM_CFLAGS ifdef enable_esp. |
312 |
|
313 |
--- Makefile.in 2010-01-22 08:35:38.000000000 -0500 |
314 |
+++ Makefile.in 2010-02-07 15:10:59.000000000 -0500 |
315 |
@@ -350,9 +350,17 @@ |
316 |
BUILD_PREFIX = @BUILD_PREFIX@ |
317 |
BUILD_PREFIX_1 = @BUILD_PREFIX_1@ |
318 |
|
319 |
+# Some stuff don't compile with SSP |
320 |
+enable_esp = @enable_esp@ |
321 |
+ifeq ($(enable_esp),yes) |
322 |
+ESP_NOSSP_CFLAGS = -fno-stack-protector |
323 |
+else |
324 |
+ESP_NOSSP_CFLAGS= |
325 |
+endif |
326 |
+ |
327 |
# Flags to pass to stage2 and later makes. They are defined |
328 |
# here so that they can be overridden by Makefile fragments. |
329 |
-BOOT_CFLAGS= -g -O2 |
330 |
+BOOT_CFLAGS= -g -O2 $(ESP_NOSSP_CFLAGS) |
331 |
BOOT_LDFLAGS= |
332 |
BOOT_ADAFLAGS=-gnatpg -gnata |
333 |
|
334 |
@@ -397,9 +405,9 @@ |
335 |
|
336 |
CFLAGS = @CFLAGS@ |
337 |
LDFLAGS = @LDFLAGS@ |
338 |
-LIBCFLAGS = $(CFLAGS) |
339 |
+LIBCFLAGS = $(CFLAGS) $(ESP_NOSSP_CFLAGS) |
340 |
CXXFLAGS = @CXXFLAGS@ |
341 |
-LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates |
342 |
+LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates $(ESP_NOSSP_CFLAGS) |
343 |
|
344 |
TFLAGS = |
345 |
|
346 |
--- gcc/Makefile.in 2010-01-22 17:22:51.000000000 -0500 |
347 |
+++ gcc/Makefile.in 2010-02-07 15:15:13.000000000 -0500 |
348 |
@@ -629,13 +629,24 @@ |
349 |
INHIBIT_LIBC_CFLAGS = -Dinhibit_libc |
350 |
endif |
351 |
|
352 |
+# We don't want __stack_chk_fail in crt* and libgcc2.a. |
353 |
+# We don't want to compile crtbegin, crtend and crtbeginT with -fPIE. |
354 |
+enable_esp = @enable_esp@ |
355 |
+ifeq ($(enable_esp),yes) |
356 |
+ESP_NOPIE_CFLAGS = -fno-PIE |
357 |
+ESP_NOSSP_CFLAGS = -fno-stack-protector |
358 |
+else |
359 |
+ESP_NOPIE_CFLAGS= |
360 |
+ESP_NOSSP_CFLAGS= |
361 |
+endif |
362 |
+ |
363 |
# Options to use when compiling libgcc2.a. |
364 |
# |
365 |
LIBGCC2_DEBUG_CFLAGS = -g |
366 |
LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) \ |
367 |
$(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) \ |
368 |
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \ |
369 |
- $(INHIBIT_LIBC_CFLAGS) |
370 |
+ $(INHIBIT_LIBC_CFLAGS) $(ESP_NOSSP_CFLAGS) |
371 |
|
372 |
# Additional options to use when compiling libgcc2.a. |
373 |
# Some targets override this to -isystem include |
374 |
@@ -648,7 +659,7 @@ |
375 |
CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \ |
376 |
-finhibit-size-directive -fno-inline -fno-exceptions \ |
377 |
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \ |
378 |
- $(INHIBIT_LIBC_CFLAGS) |
379 |
+ $(INHIBIT_LIBC_CFLAGS) $(ESP_NOSSP_CFLAGS) |
380 |
|
381 |
# Additional sources to handle exceptions; overridden by targets as needed. |
382 |
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \ |
383 |
@@ -678,6 +689,12 @@ |
384 |
# The rules for compiling them should be in the t-* file for the machine. |
385 |
EXTRA_PARTS = @extra_parts@ |
386 |
|
387 |
+# We add crtbeginTS.o to the EXTRA_PARTS list if enable_crtbeginTS = yes |
388 |
+enable_crtbeginTS = @enable_crtbeginTS@ |
389 |
+ifeq ($(enable_crtbeginTS),yes) |
390 |
+EXTRA_PARTS += crtbeginTS.o |
391 |
+endif |
392 |
+ |
393 |
# List of extra object files that should be compiled and linked with |
394 |
# compiler proper (cc1, cc1obj, cc1plus). |
395 |
EXTRA_OBJS = @extra_objs@ |
396 |
@@ -1856,9 +1873,10 @@ |
397 |
echo LIBGCC_SYNC = '$(LIBGCC_SYNC)' >> tmp-libgcc.mvars |
398 |
echo LIBGCC_SYNC_CFLAGS = '$(LIBGCC_SYNC_CFLAGS)' >> tmp-libgcc.mvars |
399 |
echo CRTSTUFF_CFLAGS = '$(CRTSTUFF_CFLAGS)' >> tmp-libgcc.mvars |
400 |
- echo CRTSTUFF_T_CFLAGS = '$(CRTSTUFF_T_CFLAGS)' >> tmp-libgcc.mvars |
401 |
+ echo CRTSTUFF_T_CFLAGS = '$(CRTSTUFF_T_CFLAGS) $(ESP_NOPIE_CFLAGS)' >> tmp-libgcc.mvars |
402 |
echo CRTSTUFF_T_CFLAGS_S = '$(CRTSTUFF_T_CFLAGS_S)' >> tmp-libgcc.mvars |
403 |
echo TARGET_SYSTEM_ROOT = '$(TARGET_SYSTEM_ROOT)' >> tmp-libgcc.mvars |
404 |
+ echo enable_crtbeginTS = '$(enable_crtbeginTS)' >> tmp-libgcc.mvars |
405 |
|
406 |
mv tmp-libgcc.mvars libgcc.mvars |
407 |
|
408 |
@@ -1892,12 +1910,14 @@ |
409 |
$(T)crtbegin.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ |
410 |
gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) |
411 |
$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ |
412 |
+ $(ESP_NOPIE_CFLAGS) \ |
413 |
-c $(srcdir)/crtstuff.c -DCRT_BEGIN \ |
414 |
-o $(T)crtbegin$(objext) |
415 |
|
416 |
$(T)crtend.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ |
417 |
gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) |
418 |
$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ |
419 |
+ $(ESP_NOPIE_CFLAGS) \ |
420 |
-c $(srcdir)/crtstuff.c -DCRT_END \ |
421 |
-o $(T)crtend$(objext) |
422 |
|
423 |
@@ -1918,9 +1938,19 @@ |
424 |
$(T)crtbeginT.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ |
425 |
gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) |
426 |
$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ |
427 |
+ $(ESP_NOPIE_CFLAGS) \ |
428 |
-c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O \ |
429 |
-o $(T)crtbeginT$(objext) |
430 |
|
431 |
+# This is a version of crtbegin for -static -fPIE links if esp is enable. |
432 |
+ifeq ($(enable_crtbeginTS),yes) |
433 |
+$(T)crtbeginTS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ |
434 |
+ gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) |
435 |
+ $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \ |
436 |
+ -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O -DCRTSTUFFS_O \ |
437 |
+ -o $(T)crtbeginTS$(objext) |
438 |
+endif |
439 |
+ |
440 |
# Compile the start modules crt0.o and mcrt0.o that are linked with |
441 |
# every program |
442 |
$(T)crt0.o: s-crt0 ; @true |
443 |
--- libgcc/Makefile.in 2009-07-30 18:33:49.000000000 -0400 |
444 |
+++ libgcc/Makefile.in 2010-02-07 15:10:59.000000000 -0500 |
445 |
@@ -291,6 +291,12 @@ |
446 |
gen-hide-list = echo > \$@ |
447 |
endif |
448 |
|
449 |
+# We add crtbeginTS.o to the EXTRA_PARTS list if enable_crtbeginTS = yes |
450 |
+enable_libgcc_crtbeginTS = $(enable_crtbeginTS) |
451 |
+ifeq ($(enable_libgcc_crtbeginTS),yes) |
452 |
+EXTRA_PARTS += crtbeginTS.o |
453 |
+endif |
454 |
+ |
455 |
ifneq ($(EXTRA_PARTS),) |
456 |
extra-parts = libgcc-extra-parts |
457 |
INSTALL_PARTS = $(EXTRA_PARTS) |
458 |
@@ -842,6 +848,13 @@ |
459 |
crtbeginT.o: $(gcc_srcdir)/crtstuff.c |
460 |
$(crt_compile) $(CRTSTUFF_T_CFLAGS) \ |
461 |
-c $(gcc_srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O |
462 |
+ |
463 |
+# This is a version of crtbegin for -static -fPIE links. |
464 |
+ifeq ($(enable_libgcc_crtbeginTS),yes) |
465 |
+crtbeginTS.o: $(gcc_srcdir)/crtstuff.c |
466 |
+ $(crt_compile) $(CRTSTUFF_T_CFLAGS_S) \ |
467 |
+ -c $(gcc_srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O -DCRTSTUFFS_O |
468 |
+endif |
469 |
endif |
470 |
|
471 |
# Build extra startfiles in the libgcc directory. |
472 |
--- libmudflap/Makefile.in 2009-12-05 12:18:53.000000000 -0500 |
473 |
+++ libmudflap/Makefile.in 2010-02-07 15:10:59.000000000 -0500 |
474 |
@@ -253,9 +253,17 @@ |
475 |
MAINT_CHARSET = latin1 |
476 |
SUBDIRS = testsuite |
477 |
|
478 |
+# Some stuff don't compile with SSP and FORTIFY_SOURCE |
479 |
+enable_esp = @enable_esp@ |
480 |
+ifeq ($(enable_esp),yes) |
481 |
+ NO_ESP_CFLAGS = -fno-stack-protector -U_FORTIFY_SOURCE |
482 |
+else |
483 |
+ NO_ESP_CFLAGS = |
484 |
+endif |
485 |
+ |
486 |
# May be used by various substitution variables. |
487 |
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) |
488 |
-AM_CFLAGS = -Wall $(SECTION_FLAGS) |
489 |
+AM_CFLAGS = -Wall $(SECTION_FLAGS) $(NO_ESP_CFLAGS) |
490 |
@LIBMUDFLAPTH_FALSE@libmudflapth = |
491 |
@LIBMUDFLAPTH_TRUE@libmudflapth = libmudflapth.la |
492 |
toolexeclib_LTLIBRARIES = libmudflap.la $(libmudflapth) |
493 |
|
494 |
|
495 |
|
496 |
1.1 src/patchsets/gcc/4.5.3/pie/20_all_gcc45_gcc.c.patch |
497 |
|
498 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/20_all_gcc45_gcc.c.patch?rev=1.1&view=markup |
499 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/20_all_gcc45_gcc.c.patch?rev=1.1&content-type=text/plain |
500 |
|
501 |
Index: 20_all_gcc45_gcc.c.patch |
502 |
=================================================================== |
503 |
2010-05-26 Magnus Granberg <zorry@g.o>, Anthony G. Basile <basile@××××××××××××××.edu> |
504 |
|
505 |
* gcc/gcc.c include esp.h |
506 |
static const char *cc1_spec We set that in esp.h if ENABLE_ESP. |
507 |
#ifdef EXTRA_SPECS: Add ESP_EXTRA_SPECS |
508 |
main(): Add do_self_spec esp_command_options_spec() |
509 |
|
510 |
2009-06-27 Matthias Klose <doko@××××××.com>, Kees Cook <kees@×××××××.net>, |
511 |
Anthony G. Basile <basile@××××××××××××××.edu> |
512 |
|
513 |
LP #346126 |
514 |
* gcc/gcc.c *cpp_options Add %(esp_cpp_options) |
515 |
|
516 |
* gcc/gcc.c default_compilers[] Add %(esp_options) |
517 |
*cpp_unique_options Add %(esp_cpp_unique_options) |
518 |
|
519 |
--- gcc/gcc.c 2010-01-21 10:29:30.000000000 -0500 |
520 |
+++ gcc/gcc.c 2010-01-29 23:29:16.000000000 -0500 |
521 |
@@ -84,6 +84,7 @@ |
522 |
#include "gcc.h" |
523 |
#include "flags.h" |
524 |
#include "opts.h" |
525 |
+#include "esp.h" /* for --enable-esp support */ |
526 |
|
527 |
#ifdef HAVE_MMAP_FILE |
528 |
# include <sys/mman.h> |
529 |
@@ -822,7 +823,9 @@ |
530 |
|
531 |
static const char *asm_debug; |
532 |
static const char *cpp_spec = CPP_SPEC; |
533 |
+#ifndef ENABLE_ESP |
534 |
static const char *cc1_spec = CC1_SPEC; |
535 |
+#endif |
536 |
static const char *cc1plus_spec = CC1PLUS_SPEC; |
537 |
static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC; |
538 |
static const char *link_ssp_spec = LINK_SSP_SPEC; |
539 |
@@ -885,7 +888,7 @@ |
540 |
static const char *cpp_options = |
541 |
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ |
542 |
%{f*} %{g*:%{!g0:%{g*} %{!fno-working-directory:-fworking-directory}}} %{O*}\ |
543 |
- %{undef} %{save-temps*:-fpch-preprocess}"; |
544 |
+ %{undef} %{save-temps*:-fpch-preprocess} %(esp_cpp_options)"; |
545 |
|
546 |
/* This contains cpp options which are not passed when the preprocessor |
547 |
output will be used by another program. */ |
548 |
@@ -1075,15 +1081,15 @@ |
549 |
%{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ |
550 |
%(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\ |
551 |
cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \ |
552 |
- %(cc1_options)}\ |
553 |
+ %(cc1_options) %(esp_options)}\ |
554 |
%{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\ |
555 |
- cc1 %(cpp_unique_options) %(cc1_options)}}}\ |
556 |
+ cc1 %(cpp_unique_options) %(cc1_options) %(esp_options)}}}\ |
557 |
%{!fsyntax-only:%(invoke_as)}} \ |
558 |
%{combine:\ |
559 |
%{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ |
560 |
%(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i}}\ |
561 |
%{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\ |
562 |
- cc1 %(cpp_unique_options) %(cc1_options)}}\ |
563 |
+ cc1 %(cpp_unique_options) %(cc1_options) %(esp_options)}}\ |
564 |
%{!fsyntax-only:%(invoke_as)}}}}}}", 0, 1, 1}, |
565 |
{"-", |
566 |
"%{!E:%e-E or -x required when input is from standard input}\ |
567 |
@@ -1106,7 +1112,7 @@ |
568 |
%W{o*:--output-pch=%*}%V}}}}}}", 0, 0, 0}, |
569 |
{".i", "@cpp-output", 0, 1, 0}, |
570 |
{"@cpp-output", |
571 |
- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 1, 0}, |
572 |
+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %(esp_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 1, 0}, |
573 |
{".s", "@assembler", 0, 1, 0}, |
574 |
{"@assembler", |
575 |
"%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 1, 0}, |
576 |
@@ -1699,18 +1705,23 @@ |
577 |
INIT_STATIC_SPEC ("sysroot_hdrs_suffix_spec", &sysroot_hdrs_suffix_spec), |
578 |
}; |
579 |
|
580 |
-#ifdef EXTRA_SPECS /* additional specs needed */ |
581 |
+/* EXTRA_SPECS needs to be defined */ |
582 |
+#ifndef EXTRA_SPECS |
583 |
+#define EXTRA_SPECS |
584 |
+#endif |
585 |
+ |
586 |
+/* EXTRA_SPECS and ESP_EXTRA_SPECS add additional specs */ |
587 |
/* Structure to keep track of just the first two args of a spec_list. |
588 |
- That is all that the EXTRA_SPECS macro gives us. */ |
589 |
+ That is all that the EXTRA_SPECS and ESP_EXTRA_SPECS macro gives us. */ |
590 |
struct spec_list_1 |
591 |
{ |
592 |
const char *const name; |
593 |
const char *const ptr; |
594 |
}; |
595 |
|
596 |
-static const struct spec_list_1 extra_specs_1[] = { EXTRA_SPECS }; |
597 |
+/* ESP_EXTRA_SPECS before EXTRA_SPECS */ |
598 |
+static const struct spec_list_1 extra_specs_1[] = { ESP_EXTRA_SPECS, EXTRA_SPECS }; |
599 |
static struct spec_list *extra_specs = (struct spec_list *) 0; |
600 |
-#endif |
601 |
|
602 |
/* List of dynamically allocates specs that have been defined so far. */ |
603 |
|
604 |
@@ -1798,7 +1809,6 @@ |
605 |
if (verbose_flag) |
606 |
notice ("Using built-in specs.\n"); |
607 |
|
608 |
-#ifdef EXTRA_SPECS |
609 |
extra_specs = XCNEWVEC (struct spec_list, ARRAY_SIZE (extra_specs_1)); |
610 |
|
611 |
for (i = ARRAY_SIZE (extra_specs_1) - 1; i >= 0; i--) |
612 |
@@ -1811,7 +1821,6 @@ |
613 |
sl->ptr_spec = &sl->ptr; |
614 |
next = sl; |
615 |
} |
616 |
-#endif |
617 |
|
618 |
for (i = ARRAY_SIZE (static_specs) - 1; i >= 0; i--) |
619 |
{ |
620 |
@@ -7096,6 +7123,12 @@ |
621 |
gcc_exec_prefix = concat (gcc_exec_prefix, spec_machine, dir_separator_str, |
622 |
spec_version, dir_separator_str, NULL); |
623 |
|
624 |
+#ifdef ENABLE_ESP |
625 |
+ /* Process ESP_COMMAND_OPTIONS_SPEC, adding any new options to the end |
626 |
+ of the command line. */ |
627 |
+ do_self_spec (esp_command_options_spec); |
628 |
+#endif |
629 |
+ |
630 |
/* Now we have the specs. |
631 |
Set the `valid' bits for switches that match anything in any spec. */ |
632 |
|
633 |
|
634 |
|
635 |
|
636 |
1.1 src/patchsets/gcc/4.5.3/pie/21_all_gcc44_decl-tls-model.patch |
637 |
|
638 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/21_all_gcc44_decl-tls-model.patch?rev=1.1&view=markup |
639 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/21_all_gcc44_decl-tls-model.patch?rev=1.1&content-type=text/plain |
640 |
|
641 |
Index: 21_all_gcc44_decl-tls-model.patch |
642 |
=================================================================== |
643 |
2009-06-13 Magnus Granberg <zorry@×××.nu> |
644 |
|
645 |
b.g.o #232601 |
646 |
* gcc/varasm.c (decl_tls_model): Check flag_pic instead of flag_shlib. |
647 |
|
648 |
--- gcc/varasm.c 2009-03-17 21:18:21.000000000 +0100 |
649 |
+++ gcc/varasm.c 2009-04-29 03:10:09.000000000 +0200 |
650 |
@@ -5607,7 +5607,11 @@ |
651 |
bool is_local; |
652 |
|
653 |
is_local = targetm.binds_local_p (decl); |
654 |
- if (!flag_shlib) |
655 |
+ #ifdef ENABLE_ESP |
656 |
+ if (!flag_pic) |
657 |
+ #else |
658 |
+ if (!flag_shlib) |
659 |
+ #endif |
660 |
{ |
661 |
if (is_local) |
662 |
kind = TLS_MODEL_LOCAL_EXEC; |
663 |
|
664 |
|
665 |
|
666 |
1.1 src/patchsets/gcc/4.5.3/pie/30_all_gcc44_esp.h.patch |
667 |
|
668 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/30_all_gcc44_esp.h.patch?rev=1.1&view=markup |
669 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/30_all_gcc44_esp.h.patch?rev=1.1&content-type=text/plain |
670 |
|
671 |
Index: 30_all_gcc44_esp.h.patch |
672 |
=================================================================== |
673 |
2010-05-27 Magnus Granberg <zorry@g.o> |
674 |
|
675 |
* gcc/esp.h New file to support --enable-esp |
676 |
Version 20100527.1 |
677 |
|
678 |
--- gcc/esp.h 2010-04-09 16:14:00.000000000 +0200 |
679 |
+++ gcc/esp.h 2010-04-29 21:30:47.000000000 +0200 |
680 |
@@ -0,0 +1,145 @@ |
681 |
+/* License terms see GNU GENERAL PUBLIC LICENSE Version 3. |
682 |
+ * Version 20100527.1 |
683 |
+ * Magnus Granberg (Zorry) <zorry@g.o> */ |
684 |
+#ifndef GCC_ESP_H |
685 |
+#define GCC_ESP_H |
686 |
+ |
687 |
+/* This file will add -fstack-protector-all, -fPIE, -pie and -z now |
688 |
+ as default if the defines and the spec allow it. |
689 |
+ Added a hack for gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass |
690 |
+ to support older hardened GCC patches and we don't need to change the code on gcc-specs-* and _filter-hardened. |
691 |
+ This will add some unsupported upstream commands options as -nopie and -nonow. |
692 |
+ -D__KERNEL__ is added so we don't have -fPIE, -pie and -fstack-protector-all when building kernels. |
693 |
+ ESP_CC1_SPEC is added to CC1_SPEC. |
694 |
+ ESP_CC1_STRICT_OVERFLOW_SPEC is added so we don't disable the strict-overflow check. |
695 |
+ ESP_LINK_PIE_CHECK_SPEC check for -pie, -p, -pg, -profile and -static. |
696 |
+ ENABLE_CRTBEGINTS add support for crtbeginTS.o, build -static with -fPIE or -fpie. |
697 |
+*/ |
698 |
+#ifdef ENABLE_ESP |
699 |
+ |
700 |
+ /* Hack to support gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass */ |
701 |
+ #define ESP_CC1_SPEC " %(esp_cc1_ssp) %(esp_cc1_pie) %(esp_cc1_strict_overflow)" |
702 |
+ #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP ) |
703 |
+ #define ESP_CC1_SSP_SPEC "%{!fno-stack-protector: %{!fno-stack-protector-all: }}" |
704 |
+ #else |
705 |
+ #define ESP_CC1_SSP_SPEC "" |
706 |
+ #endif |
707 |
+ #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP ) |
708 |
+ #define ESP_CC1_PIE_SPEC "%{!nopie: }" |
709 |
+ #else |
710 |
+ #define ESP_CC1_PIE_SPEC "" |
711 |
+ #endif |
712 |
+ #define ESP_CC1_STRICT_OVERFLOW_SPEC "%{!fstrict-overflow:%{!fno-strict-overflow: -fno-strict-overflow}}" |
713 |
+ |
714 |
+ /* ESP_LINK_SPEC is added to LINK_PIE_SPEC if esp is enable |
715 |
+ -z now will be added if we don't have -vanilla spec. We do a -pie incompatible check |
716 |
+ Don't remove the specs in the end */ |
717 |
+ #define ESP_LINK_SPEC "%(esp_link_now) %(esp_link_pie_check) " |
718 |
+ #define ESP_LINK_NOW_SPEC "%{!nonow:-z now}" |
719 |
+ |
720 |
+ /* We use ESP_COMMAND_OPTIONS_SPEC to add pie command-line options. */ |
721 |
+ #define ESP_COMMAND_OPTIONS_SPEC "%{!D__KERNEL__:%{!nopie:%(esp_options_pie) %(esp_link_pie)}}" |
722 |
+ |
723 |
+ /* ESP_OPTIONS_SPEC is added to the compiler spec in gcc/gcc.c */ |
724 |
+ #define ESP_OPTIONS_SPEC "%(esp_options_ssp)" |
725 |
+ |
726 |
+ /* ESP_CPP_OPTIONS_SPEC is added to the cpp_options spec in gcc/gcc.c |
727 |
+ For precompiling headers. */ |
728 |
+ #define ESP_CPP_OPTIONS_SPEC "%(esp_options_ssp)" |
729 |
+ |
730 |
+ /* This will add -fstack-protector-all if we don't have -nostdlib -nodefaultlibs -fno-stack-protector -fstack-protector |
731 |
+ -fstack-protector-all and we have EFAULT_SSP or EFAULT_PIE_SSP defined. */ |
732 |
+ #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP ) |
733 |
+ #define ESP_OPTIONS_SSP_SPEC \ |
734 |
+ "%{!D__KERNEL__:%{!nostdlib:%{!nodefaultlibs: %{!fno-stack-protector: \ |
735 |
+ %{!fstack-protector:%{!fstack-protector-all:-fstack-protector-all}}}}}}" |
736 |
+ #else |
737 |
+ #define ESP_OPTIONS_SSP_SPEC "" |
738 |
+ #endif |
739 |
+ |
740 |
+ /* If EFAULT_PIE or EFAULT_PIE_SSP is defined we will add -fPIE -pie */ |
741 |
+ #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP ) |
742 |
+ |
743 |
+ /* This will add -fPIE if we don't have -pie -fpic -fPIC -fpie -fPIE -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static |
744 |
+ -nostdlib -nostartfiles. */ |
745 |
+ /* With ENABLE_CRTBEGINTS we don't need to check for -static */ |
746 |
+ #ifdef ENABLE_CRTBEGINTS |
747 |
+ #define ESP_OPTIONS_PIE_SPEC \ |
748 |
+ "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \ |
749 |
+ %{!shared: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }" |
750 |
+ #else |
751 |
+ #define ESP_OPTIONS_PIE_SPEC \ |
752 |
+ "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \ |
753 |
+ %{!shared: %{!static: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }}" |
754 |
+ #endif |
755 |
+ |
756 |
+ /* This will add -pie if we don't have -pie -A -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static -r -nostdlib |
757 |
+ -nostartfiles */ |
758 |
+ /* With ENABLE_CRTBEGINTS we don't need to check for -static |
759 |
+ and we add -pie only to get the start and endfiles. -pie will not go to the linker. */ |
760 |
+ #ifdef ENABLE_CRTBEGINTS |
761 |
+ #define ESP_LINK_PIE_SPEC \ |
762 |
+ "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!r: \ |
763 |
+ %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}" |
764 |
+ #else |
765 |
+ #define ESP_LINK_PIE_SPEC \ |
766 |
+ "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!static:%{!r: \ |
767 |
+ %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}}" |
768 |
+ #endif |
769 |
+ |
770 |
+ /* This will check if -pie is set when (-static) -pg -p -profile. If set it will make gcc print out |
771 |
+ "-pie and (static)|pg|p|profile are incompatible when linking" */ |
772 |
+ /* With ENABLE_CRTBEGINTS we don't need to check for -static */ |
773 |
+ #ifdef ENABLE_CRTBEGINTS |
774 |
+ #define ESP_LINK_PIE_CHECK_SPEC \ |
775 |
+ "%{pie:%{pg|p|profile:%e-pie and -pg|p|profile are incompatible when linking}}" |
776 |
+ #else |
777 |
+ #define ESP_LINK_PIE_CHECK_SPEC \ |
778 |
+ "%{pie:%{static|pg|p|profile:%e-pie and -static|pg|p|profile are incompatible when linking}}" |
779 |
+ #endif |
780 |
+ |
781 |
+ /* We don't pass -pie to the linker when -static. */ |
782 |
+ #ifdef ENABLE_CRTBEGINTS |
783 |
+ #define LINK_PIE_SPEC "%{!static:%{pie:-pie}} %(esp_link)" |
784 |
+ #else |
785 |
+ #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)" |
786 |
+ #endif |
787 |
+ |
788 |
+ #else |
789 |
+ #define ESP_OPTIONS_PIE_SPEC "" |
790 |
+ #define ESP_LINK_PIE_CHECK_SPEC "" |
791 |
+ #define ESP_LINK_PIE_SPEC "" |
792 |
+ #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)" |
793 |
+ #endif |
794 |
+ |
795 |
+ /* We add extra spec name's to the EXTRA_SPECS list */ |
796 |
+ #define ESP_EXTRA_SPECS \ |
797 |
+ { "esp_cc1", ESP_CC1_SPEC }, \ |
798 |
+ { "esp_cc1_pie", ESP_CC1_PIE_SPEC }, \ |
799 |
+ { "esp_cc1_ssp", ESP_CC1_SSP_SPEC }, \ |
800 |
+ { "esp_cc1_strict_overflow", ESP_CC1_STRICT_OVERFLOW_SPEC }, \ |
801 |
+ { "esp_link", ESP_LINK_SPEC }, \ |
802 |
+ { "esp_link_now", ESP_LINK_NOW_SPEC }, \ |
803 |
+ { "esp_link_pie", ESP_LINK_PIE_SPEC }, \ |
804 |
+ { "esp_link_pie_check", ESP_LINK_PIE_CHECK_SPEC }, \ |
805 |
+ { "esp_command_options", ESP_COMMAND_OPTIONS_SPEC }, \ |
806 |
+ { "esp_cpp_options", ESP_CPP_OPTIONS_SPEC }, \ |
807 |
+ { "esp_options", ESP_OPTIONS_SPEC }, \ |
808 |
+ { "esp_options_pie", ESP_OPTIONS_PIE_SPEC }, \ |
809 |
+ { "esp_options_ssp", ESP_OPTIONS_SSP_SPEC } |
810 |
+ |
811 |
+ static const char *esp_command_options_spec = ESP_COMMAND_OPTIONS_SPEC; |
812 |
+ static const char *cc1_spec = CC1_SPEC ESP_CC1_SPEC; |
813 |
+ |
814 |
+#else /* If not ESP_ENABLE defined do this. */ |
815 |
+ |
816 |
+ #define ESP_OPTIONS_SPEC "" |
817 |
+ #define ESP_CPP_OPTIONS_SPEC "" |
818 |
+ |
819 |
+ /* We add extra spec name's to the EXTRA_SPECS list */ |
820 |
+ #define ESP_EXTRA_SPECS \ |
821 |
+ { "esp_options", ESP_OPTIONS_SPEC }, \ |
822 |
+ { "esp_cpp_options", ESP_CPP_OPTIONS_SPEC } |
823 |
+ |
824 |
+#endif |
825 |
+#endif /* End GCC_ESP_H */ |
826 |
|
827 |
|
828 |
|
829 |
1.1 src/patchsets/gcc/4.5.3/pie/33_all_gcc45_config_rs6000_linux64.h.patch |
830 |
|
831 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/33_all_gcc45_config_rs6000_linux64.h.patch?rev=1.1&view=markup |
832 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/33_all_gcc45_config_rs6000_linux64.h.patch?rev=1.1&content-type=text/plain |
833 |
|
834 |
Index: 33_all_gcc45_config_rs6000_linux64.h.patch |
835 |
=================================================================== |
836 |
2010-04-25 Peter S. Mazinger <ps.m@×××.net>, Magnus Granberg <zorry@g.o> |
837 |
|
838 |
* gcc/config/rs6000/linux64.h ASM_SPEC32 Change %{fpic:-K PIC} %{fPIC:-K PIC} |
839 |
to %{fpic|fPIC|fpie|fPIE:-K PIC} |
840 |
|
841 |
--- gcc/config/rs6000/linux64.h.psm 2009-04-10 01:23:07.000000000 +0200 |
842 |
+++ gcc/config/rs6000/linux64.h 2009-09-23 12:34:26.000000000 +0200 |
843 |
@@ -162,7 +162,7 @@ |
844 |
#endif |
845 |
|
846 |
#define ASM_SPEC32 "-a32 %{n} %{T} %{Ym,*} %{Yd,*} \ |
847 |
-%{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} \ |
848 |
+%{mrelocatable} %{mrelocatable-lib} %{fpic|fPIC|fpie|fPIE:-K PIC} \ |
849 |
%{memb} %{!memb: %{msdata=eabi: -memb}} \ |
850 |
%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \ |
851 |
%{mcall-freebsd: -mbig} \ |
852 |
|
853 |
|
854 |
|
855 |
1.1 src/patchsets/gcc/4.5.3/pie/35_all_gcc44_config_crtbegints.patch |
856 |
|
857 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/35_all_gcc44_config_crtbegints.patch?rev=1.1&view=markup |
858 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/35_all_gcc44_config_crtbegints.patch?rev=1.1&content-type=text/plain |
859 |
|
860 |
Index: 35_all_gcc44_config_crtbegints.patch |
861 |
=================================================================== |
862 |
2010-06-18 Magnus Granberg <zorry@g.o> |
863 |
|
864 |
* gcc/config/linux.h If ENABLE_CRTBEGINTS, -static and -pie use crtbegineTS.o. |
865 |
* gcc/config/rs6000/sysv4.h If ENABLE_CRTBEGINTS, -static and -pie use crtbegineTS.o. |
866 |
|
867 |
--- gcc/config/linux.h 2009-04-10 01:23:07.000000000 +0200 |
868 |
+++ gcc/config/linux.h 2009-09-08 04:08:06.000000000 +0200 |
869 |
@@ -43,7 +43,11 @@ |
870 |
object constructed before entering `main'. */ |
871 |
|
872 |
#undef STARTFILE_SPEC |
873 |
-#if defined HAVE_LD_PIE |
874 |
+#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINTS) |
875 |
+#define STARTFILE_SPEC \ |
876 |
+ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s \ |
877 |
+ %{static:%{pie:crtbeginTS.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}" |
878 |
+#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINTS) |
879 |
#define STARTFILE_SPEC \ |
880 |
"%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ |
881 |
crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" |
882 |
--- gcc/config/rs6000/sysv4.h 2009-04-10 01:23:07.000000000 +0200 |
883 |
+++ gcc/config/rs6000/sysv4.h 2009-09-08 04:41:50.000000000 +0200 |
884 |
@@ -883,7 +883,12 @@ |
885 |
%{!mnewlib: %{pthread:-lpthread} %{shared:-lc} \ |
886 |
%{!shared: %{profile:-lc_p} %{!profile:-lc}}}" |
887 |
|
888 |
-#ifdef HAVE_LD_PIE |
889 |
+#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINTS) |
890 |
+#define STARTFILE_LINUX_SPEC "\ |
891 |
+%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ |
892 |
+%{mnewlib:ecrti.o%s;:crti.o%s} \ |
893 |
+%{static:%{pie:crtbeginTS.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}" |
894 |
+#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINTS) |
895 |
#define STARTFILE_LINUX_SPEC "\ |
896 |
%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ |
897 |
%{mnewlib:ecrti.o%s;:crti.o%s} \ |
898 |
|
899 |
|
900 |
|
901 |
1.1 src/patchsets/gcc/4.5.3/pie/40_all_gcc44_cp_lang-specs.h.patch |
902 |
|
903 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/40_all_gcc44_cp_lang-specs.h.patch?rev=1.1&view=markup |
904 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/40_all_gcc44_cp_lang-specs.h.patch?rev=1.1&content-type=text/plain |
905 |
|
906 |
Index: 40_all_gcc44_cp_lang-specs.h.patch |
907 |
=================================================================== |
908 |
2009-06-18 Matthias Klose <doko@××××××.com>, Kees Cook <kees@×××××××.net> |
909 |
|
910 |
LP #346126 |
911 |
* gcc/cp/lang-specs.h compiler spec Add %(esp_options). |
912 |
|
913 |
--- gcc/cp/lang-specs.h.orig 2009-03-23 01:21:54.000000000 +0100 |
914 |
+++ gcc/cp/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 |
915 |
@@ -47,7 +47,7 @@ |
916 |
%(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\ |
917 |
cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\ |
918 |
%{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ |
919 |
- %(cc1_options) %2 %{+e1*}\ |
920 |
+ %(cc1_options) %(esp_options) %2 %{+e1*}\ |
921 |
%{!fsyntax-only:-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}}", |
922 |
CPLUSPLUS_CPP_SPEC, 0, 0}, |
923 |
{"@c++", |
924 |
@@ -57,11 +57,11 @@ |
925 |
%(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\ |
926 |
cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\ |
927 |
%{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ |
928 |
- %(cc1_options) %2 %{+e1*}\ |
929 |
+ %(cc1_options) %(esp_options) %2 %{+e1*}\ |
930 |
%{!fsyntax-only:%(invoke_as)}}}}", |
931 |
CPLUSPLUS_CPP_SPEC, 0, 0}, |
932 |
{".ii", "@c++-cpp-output", 0, 0, 0}, |
933 |
{"@c++-cpp-output", |
934 |
"%{!M:%{!MM:%{!E:\ |
935 |
- cc1plus -fpreprocessed %i %(cc1_options) %2 %{+e*}\ |
936 |
+ cc1plus -fpreprocessed %i %(cc1_options) %(esp_options) %2 %{+e*}\ |
937 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
938 |
|
939 |
|
940 |
|
941 |
1.1 src/patchsets/gcc/4.5.3/pie/41_all_gcc44_objc_lang-specs.h.patch |
942 |
|
943 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/41_all_gcc44_objc_lang-specs.h.patch?rev=1.1&view=markup |
944 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/41_all_gcc44_objc_lang-specs.h.patch?rev=1.1&content-type=text/plain |
945 |
|
946 |
Index: 41_all_gcc44_objc_lang-specs.h.patch |
947 |
=================================================================== |
948 |
2009-06-18 Matthias Klose <doko@××××××.com>, Kees Cook <kees@×××××××.net> |
949 |
|
950 |
LP #346126 |
951 |
* gcc/objc/lang-specs.h compiler spec Add %(esp_options). |
952 |
|
953 |
--- gcc/objc/lang-specs.h 2009-03-23 01:21:54.000000000 +0100 |
954 |
+++ gcc/objc/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 |
955 |
@@ -30,13 +30,13 @@ |
956 |
%{traditional|ftraditional|traditional-cpp:\ |
957 |
%eGNU Objective C no longer supports traditional compilation}\ |
958 |
%{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\ |
959 |
- cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\ |
960 |
+ cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}}\ |
961 |
%{!save-temps:%{!no-integrated-cpp:\ |
962 |
- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\ |
963 |
+ cc1obj %(cpp_unique_options) %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}}}\ |
964 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
965 |
{".mi", "@objc-cpp-output", 0, 0, 0}, |
966 |
{"@objc-cpp-output", |
967 |
- "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ |
968 |
+ "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}\ |
969 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
970 |
{"@objective-c-header", |
971 |
"%{E|M|MM:cc1obj -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}\ |
972 |
@@ -45,10 +45,10 @@ |
973 |
%{traditional|ftraditional|traditional-cpp:\ |
974 |
%eGNU Objective C no longer supports traditional compilation}\ |
975 |
%{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\ |
976 |
- cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ |
977 |
+ cc1obj -fpreprocessed %b.mi %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}\ |
978 |
-o %g.s %{!o*:--output-pch=%i.gch}\ |
979 |
%W{o*:--output-pch=%*}%V}\ |
980 |
%{!save-temps:%{!no-integrated-cpp:\ |
981 |
- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\ |
982 |
+ cc1obj %(cpp_unique_options) %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}\ |
983 |
-o %g.s %{!o*:--output-pch=%i.gch}\ |
984 |
%W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0}, |
985 |
|
986 |
|
987 |
|
988 |
1.1 src/patchsets/gcc/4.5.3/pie/42_all_gcc44_objcp_lang-specs.h.patch |
989 |
|
990 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/42_all_gcc44_objcp_lang-specs.h.patch?rev=1.1&view=markup |
991 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/42_all_gcc44_objcp_lang-specs.h.patch?rev=1.1&content-type=text/plain |
992 |
|
993 |
Index: 42_all_gcc44_objcp_lang-specs.h.patch |
994 |
=================================================================== |
995 |
2009-06-18 Matthias Klose <doko@××××××.com>, Kees Cook <kees@×××××××.net> |
996 |
|
997 |
LP #346126 |
998 |
* gcc/objcp/lang-specs.h compiler spec Add %(esp_options). |
999 |
|
1000 |
--- gcc/objcp/lang-specs.h 2009-03-23 01:21:54.000000000 +0100 |
1001 |
+++ gcc/objcp/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 |
1002 |
@@ -36,7 +36,7 @@ |
1003 |
%(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\ |
1004 |
cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\ |
1005 |
%{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ |
1006 |
- %(cc1_options) %2 %{+e1*}\ |
1007 |
+ %(cc1_options) %(esp_options) %2 %{+e1*}\ |
1008 |
-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}", |
1009 |
CPLUSPLUS_CPP_SPEC, 0, 0}, |
1010 |
{"@objective-c++", |
1011 |
@@ -46,15 +46,15 @@ |
1012 |
%(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\ |
1013 |
cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\ |
1014 |
%{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\ |
1015 |
- %(cc1_options) %2 %{+e1*}\ |
1016 |
+ %(cc1_options) %(esp_options) %2 %{+e1*}\ |
1017 |
%{!fsyntax-only:%(invoke_as)}}}}", |
1018 |
CPLUSPLUS_CPP_SPEC, 0, 0}, |
1019 |
{".mii", "@objective-c++-cpp-output", 0, 0, 0}, |
1020 |
{"@objective-c++-cpp-output", |
1021 |
"%{!M:%{!MM:%{!E:\ |
1022 |
- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\ |
1023 |
+ cc1objplus -fpreprocessed %i %(cc1_options) %(esp_options) %2 %{+e*}\ |
1024 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
1025 |
{"@objc++-cpp-output", |
1026 |
"%{!M:%{!MM:%{!E:\ |
1027 |
- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\ |
1028 |
+ cc1objplus -fpreprocessed %i %(cc1_options) %(esp_options) %2 %{+e*}\ |
1029 |
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
1030 |
|
1031 |
|
1032 |
|
1033 |
1.1 src/patchsets/gcc/4.5.3/pie/60_all_gcc44_invoke.texi.patch |
1034 |
|
1035 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/60_all_gcc44_invoke.texi.patch?rev=1.1&view=markup |
1036 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/60_all_gcc44_invoke.texi.patch?rev=1.1&content-type=text/plain |
1037 |
|
1038 |
Index: 60_all_gcc44_invoke.texi.patch |
1039 |
=================================================================== |
1040 |
2009-09-11 Magnus Granberg <zorry@g.o> |
1041 |
|
1042 |
* gcc/doc/invoke.texi Add NOTES about -fstack-protector-all, -pie and |
1043 |
-fPIE/-fpie when --enable-esp is enable, this options is on by default. |
1044 |
|
1045 |
--- gcc/doc/invoke.texi 2009-04-01 09:18:47.000000000 +0200 |
1046 |
+++ gcc/doc/invoke.texi 2009-06-18 14:08:38.000000000 +0200 |
1047 |
@@ -7134,6 +7134,11 @@ |
1048 |
@opindex fstack-protector-all |
1049 |
Like @option{-fstack-protector} except that all functions are protected. |
1050 |
|
1051 |
+NOTE: When --enable-esp this option is enabled by default |
1052 |
+for C, C++, ObjC, ObjC++, if neither @option{-fno-stack-protector} |
1053 |
+or @option{-nostdlib} or @option{-nodefaultlibs} or |
1054 |
+@option{-fstack-protector} are found. |
1055 |
+ |
1056 |
@item -fsection-anchors |
1057 |
@opindex fsection-anchors |
1058 |
Try to reduce the number of symbolic address calculations by using |
1059 |
@@ -7960,6 +7965,12 @@ |
1060 |
that were used to generate code (@option{-fpie}, @option{-fPIE}, |
1061 |
or model suboptions) when you specify this option. |
1062 |
|
1063 |
+NOTE: When --enable-esp this option is enabled by default |
1064 |
+for C, C++, ObjC, ObjC++, if neither @option{-fno-pie} or @option{-fno-PIE} |
1065 |
+or @option{-fno-pic} or @option{-fno-PIC} or @option{-nostdlib} or |
1066 |
+@option{-nostartfiles} or @option{-shared} or @option{-pg} or @option{-p} |
1067 |
+are found. |
1068 |
+ |
1069 |
@item -rdynamic |
1070 |
@opindex rdynamic |
1071 |
Pass the flag @option{-export-dynamic} to the ELF linker, on targets |
1072 |
@@ -15889,6 +15910,11 @@ |
1073 |
@code{__pie__} and @code{__PIE__}. The macros have the value 1 |
1074 |
for @option{-fpie} and 2 for @option{-fPIE}. |
1075 |
|
1076 |
+NOTE: When --enable-esp this option is enabled by default |
1077 |
+for C, C++, ObjC, ObjC++, if neither @option{-fno-pie} or @option{-fno-PIE} |
1078 |
+or @option{-fno-pic} or @option{-fno-PIC} or @option{-nostdlib} or |
1079 |
+@option{-nostartfiles} or @option{-shared} are found. |
1080 |
+ |
1081 |
@item -fno-jump-tables |
1082 |
@opindex fno-jump-tables |
1083 |
Do not use jump tables for switch statements even where it would be |
1084 |
|
1085 |
|
1086 |
|
1087 |
1.1 src/patchsets/gcc/4.5.3/pie/README |
1088 |
|
1089 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/README?rev=1.1&view=markup |
1090 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/README?rev=1.1&content-type=text/plain |
1091 |
|
1092 |
Index: README |
1093 |
=================================================================== |
1094 |
This work started with bugs #94325 #100689 #106222 #149292 #149649 and the overlay on http://overlays.gentoo.org/dev/kevquinn. |
1095 |
By Kevin K. Quinn, Peter S. Mazinger, Natanael Copa, Alexander Gabert, Solar, PaX Team, SpanKY and mentor. |
1096 |
|
1097 |
The work stalled. Some threads on the Gentoo forum started to do their own fixes to get it working. |
1098 |
Xake started the thread where most of the new work is done: "How long until hardened and toolchain will produce a hardened gcc4?" |
1099 |
http://forums.gentoo.org/viewtopic-t-668885.html. I joined the thread and started to code. |
1100 |
|
1101 |
We started with the pieworld code from kevquinn's overlay. The PIE and minispecs part hit the tree later on. |
1102 |
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 |
1103 |
configure command line. |
1104 |
|
1105 |
Thank you all: |
1106 |
Kevin K. Quinn, Peter S. Mazinger, Natanael Copa, Alexander Gabert, Solar, PaX Team, SpanKY, Xake, Dwokfur, |
1107 |
KernelOfTruth, SteveL, nixnut, Hopeless, forsaken1, XioXous, obrut<-, mv, qjim, Tommy[D], Genewb, radegand, |
1108 |
unk, neuron, alexxy, hellboi64, likewhoa, g0rg0n, costel78, polsas, 7v5w7go9ub0o, uberpinguin, Naib, cilly, |
1109 |
bonsaikitten, kerframil, agaffney, Gordon Malm, blueness, Matthias Klose, Kees Cook, mentor, Anarchy, |
1110 |
devurandom and everyone else for helping to test, suggestions, fixes and anything else we have missed. |
1111 |
/2009-00-09 Magnus Grenberg (Zorry) <zorry@×××.nu> |
1112 |
|
1113 |
|
1114 |
|
1115 |
1.1 src/patchsets/gcc/4.5.3/pie/README.Changelog |
1116 |
|
1117 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/README.Changelog?rev=1.1&view=markup |
1118 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/README.Changelog?rev=1.1&content-type=text/plain |
1119 |
|
1120 |
Index: README.Changelog |
1121 |
=================================================================== |
1122 |
0.4.5 Magnus Granberg <zorry@g.o> |
1123 |
|
1124 |
* gcc/config/rs6000/sysv4.h Fix a typo in the static spec rules |
1125 |
|
1126 |
0.4.4 Magnus Granberg <zorry@g.o> |
1127 |
|
1128 |
* gcc/esp.h Renamed ESP_CC1_STRICT_SPEC to ESP_CC1_STRICT_OVERFLOW_SPEC |
1129 |
Renamed ESP_OPTIONS_PIE_CHECK_SPEC to ESP_LINK_PIE_CHECK_SPEC |
1130 |
|
1131 |
0.4.3 Magnus Granberg <zorry@g.o> |
1132 |
|
1133 |
#299061 b.g.o |
1134 |
* gcc/gcc.c removed the pie incompatible specs rule call |
1135 |
* gcc/esp.h Move the -pie incompatible check to esp_link |
1136 |
remove the -shared incompatible check |
1137 |
|
1138 |
0.4.2 Magnus granberg <zorry@g.o> |
1139 |
|
1140 |
* configure remove the changes from 0.4.1 |
1141 |
* Makefile.in remove the changes from 0.4.1 remove -fstack-protector check. |
1142 |
* gcc/configure remove the changes from 0.4.1 |
1143 |
* gcc/config.in remove the changes from 0.4.1 remove HAVE_GCC_SSP |
1144 |
* gcc/Makefile remove the changes from 0.4.1 |
1145 |
* gcc/esp.h change HAVE_GCC_LD_PIE to (EFAULT_PIE || EFAULT_PIE_SSP) |
1146 |
change HAVE_GCC_SSP to (EFAULT_SSP || EFAULT_PIE_SSP) |
1147 |
* libmudflap/Makefiles.in remove the changes from 0.4.1 |
1148 |
|
1149 |
0.4.1 Magnus Granberg <zorry@g.o> |
1150 |
|
1151 |
*configure removed check for --enable-esp removed enable_esp |
1152 |
added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set |
1153 |
*Makefile.in renamed enable_esp to enable_esp_set |
1154 |
*gcc/configure removed check for --enable-esp removed enable_esp |
1155 |
added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set |
1156 |
added a -fPIE -pie check. change AC_COMPILE_IFELSE to AC_LINK_IFELSE in the |
1157 |
-fstack-protector check. |
1158 |
* gcc/config.in Added HAVE_GCC_LD_PIE |
1159 |
*gcc/Makefile.in renamed enable_esp to enable_esp_set |
1160 |
*gcc/esp.h Renamed HAVE_LD_PIE to HAVE_GCC_LD_PIE |
1161 |
Added HAVE_GCC_LD_PIE to #define ESP_CC1_PIE_SPEC. Move ESP_COMMAND_OPTIONS_SPEC |
1162 |
* libmudflap/Makefiles.in In enable_esp change ifeq to ifdef. |
1163 |
|
1164 |
#293843 b.g.o |
1165 |
*gcc/esp.h Added -nonow to the -z now specs. |
1166 |
|
1167 |
0.4.0 Anthony G. Basile <basile@××××××××××××××.edu> |
1168 |
|
1169 |
rename espf to esp and change espf-patchset to piepatchset |
1170 |
|
1171 |
0.3.9 Magnus Granberg <zorry@g.o> |
1172 |
|
1173 |
* gcc/configure Added check for TLS on the target in the SSP check. |
1174 |
|
1175 |
#149292 b.g.o |
1176 |
* gcc/config/i386/linux.h Removed uclibc don't support TLS on stack-protector |
1177 |
* gcc/config/i386/linux64.h Removed uclibc don't support TLS on stack-protector |
1178 |
* gcc/config/rs6000/linux.h Removed uclibc don't support TLS on stack-protector |
1179 |
* gcc/config/i386/linux.h Removed uclibc don't support TLS on stack-protector |
1180 |
* gcc/config/sparc/linux.h Removed uclibc don't support TLS on stack-protector |
1181 |
* gcc/config/sparc/linux64.h Removed uclibc don't support TLS on stack-protector |
1182 |
|
1183 |
0.3.8 Magnus Granberg <zorry@g.o> |
1184 |
|
1185 |
* gcc/configure Redone the -fstack-protector check. |
1186 |
* gcc/config.in Added HAVE_GCC_SSP |
1187 |
* gcc/gcc.c Removed code for espf_link_spec in X |
1188 |
* gcc/espf.h Added ifdef HAVE_GCC_SSP, change code for espf_link_spec and link_pie_spec |
1189 |
|
1190 |
0.3.7_beta Anthony G. Basile <basile@××××××××××××××.edu> |
1191 |
|
1192 |
* gcc/configure Check if -fstack-protector is supported by gcc on ARCH |
1193 |
Updated AC_SUBST enable_espf |
1194 |
* gcc/Makefile.in Remove the fix for $(out_object_file): ix86_split_to_parts() stack smashing attack b.g.o #149292. |
1195 |
* gcc/gcc.c Updaded the .c .cc compiler specs. |
1196 |
|
1197 |
0.3.6 Magnus Granberg <zorry@×××.nu> |
1198 |
|
1199 |
* configure Check --enable-espf change ppc* to powerpc*, powerpc64 and add ia64. |
1200 |
* gcc/configure Don't check for -z,relro on ia64. Disable crtbeginTS for ia64. |
1201 |
* gcc/espf.h ia64 don't support -fstack-protector* |
1202 |
|
1203 |
0.3.5 Maguns Granberg <zorry@×××.nu> |
1204 |
|
1205 |
* gcc/espf.h Change the specs for crtbegin.TS.o. |
1206 |
* gcc/gcc.c Rename espf_cc1_options to espf_options_pie_check. |
1207 |
* gcc/config/linux.h Fix typos ENABLE_CRTBEGINS to ENABLE_CRTBEGINTS |
1208 |
* gcc/config/rs6000/linux64.h ASM_SPEC32: %{fpic:-K PIC} %{fPIC:-K PIC} to |
1209 |
%{fpic|fPIC|fpie|fPIE:-K PIC} |
1210 |
|
1211 |
0.3.4 Magnus Granberg <zorry@×××.nu> |
1212 |
|
1213 |
* gcc/configure Add crtbeginTS.o support. |
1214 |
* gcc/Makefile.in Add crtbeginTS.o support. |
1215 |
* gcc/gcc.c Add espf_cc1_options. |
1216 |
* gcc/espf.h Added espf_cc1_options, crtbeginTS.o support, |
1217 |
espf_cc1_options and espf_cc1_strictoverflow. |
1218 |
* gcc/config.in Add crtbeginTS.o support. |
1219 |
* gcc/config/linux.h Add crtbeginTS.o support. |
1220 |
* gcc/config/rs6000/sysv4.h Add crtbeginTS.o support. |
1221 |
* gcc/doc/invoke.texi Add NOTES about -fstack-protector-all, |
1222 |
-pie and -fPIE. |
1223 |
* libgcc/Makefile.in Add crtbeginTS.o support. |
1224 |
|
1225 |
0.3.3 Magnus Granberg <zorry@×××.nu> |
1226 |
|
1227 |
* gcc/opts.c change #ifdef ENABLE_ESPF to #ifndef ENABLE_ESPF |
1228 |
|
1229 |
0.3.2 Magnus Granberg <zorry@×××.nu> |
1230 |
|
1231 |
* gcc/opts.c disable flag_delete_null_pointer_checks >= -O2 |
1232 |
* gcc/espf.h add ESPF_CC1_SSP_SPEC and ESPF_CC1_PIE_SPEC to fix bugs on -vanilla spec |
1233 |
|
1234 |
#149292 b.g.o |
1235 |
* gcc/config/i386/linux.h uclibc don't support TLS on stack-protector |
1236 |
* gcc/config/i386/linux64.h uclibc don't support TLS on stack-protector |
1237 |
* gcc/config/rs6000/linux.h uclibc don't support TLS on stack-protector |
1238 |
* gcc/config/i386/linux.h uclibc don't support TLS on stack-protector |
1239 |
* gcc/config/sparc/linux.h uclibc don't support TLS on stack-protector |
1240 |
* gcc/config/sparc/linux64.h uclibc don't support TLS on stack-protector |
1241 |
|
1242 |
0.3.1 Magnus Granberg <zorry@×××.nu> |
1243 |
|
1244 |
* gcc/cp/Make-lang.in cc1plus: pch test fail when cc1plus is compile with -fPIE. |
1245 |
* gcc/configure fix --enable-espf when USE"-hardened" |
1246 |
|
1247 |
4.4.1-espf-0.3.0 Magnus Granberg <zorry@×××.nu> |
1248 |
|
1249 |
* gcc/espf.h add ESPF_LINK_SPEC ESPF_LINK_NOW_SPEC |
1250 |
* gcc/gcc.c move do_self_spec (espf_command_options_spec) |
1251 |
do_spec_1() add espf_link_spec |
1252 |
|
1253 |
0.3.0 Magnus Granberg <zorry@×××.nu> |
1254 |
|
1255 |
* gcc/objc/lang-specs.h Add %(espf_options) |
1256 |
* gcc/objcp/lang-specs.h Add %(espf_options) |
1257 |
* gcc/cp/lang-specs.h Add %(espf_options) |
1258 |
* gcc/config.in removed ENABLE_LIBSSP |
1259 |
* Makefile.in We add -fno-stack-protector to |
1260 |
BOOT_CFLAGS, LIBCFLAGS and LIBCXXFLAGS |
1261 |
cc1: pch.exp test fail when cc1 is compile with -fPIE |
1262 |
* libmudflap/Makefiles.in Add -fno-stack-protector -U_FORTIFY_SOURCE |
1263 |
to AM_CFLAGS |
1264 |
* configure add --enable-espf |
1265 |
add -fno-stack-protector to stage1_cflags |
1266 |
add targes ppc* arm sparc* |
1267 |
* gcc/configure change code for check --enable-espf |
1268 |
* libmudflap/configure add enable_espf |
1269 |
* gcc/espf.h ESPF_CC1_OPTIONS_SPEC renamed to ESPF_OPTIONS_SPEC |
1270 |
add ESPF_CPP_OPTIONS_SPEC ESPF_COMMAND_OPTIONS_SPEC |
1271 |
ESPF_CC1_OPTIONS_SSP_SPEC renamed to ESPF_OPTIONS_SSP_SPEC |
1272 |
ESPF_COMPILER_COMMAND_PIE_SPEC renamed to ESPF_OPTIONS_PIE_SPEC |
1273 |
ESPF_LINK_COMMAND_PIE_SPEC renamed to ESPF_LINK_PIE_SPEC |
1274 |
add !p !pg to ESPF_LINK_PIE_SPEC |
1275 |
removed ESPF_LINK_SPEC ESPF_CC1_OPTIONS_PIE_INCOMPATIBLE_SPEC |
1276 |
* gcc/gcc.c cpp_options add %(espf_cpp_options) |
1277 |
compiler spec add %(espf_options) |
1278 |
change code for ESPF_EXTRA_SPECS |
1279 |
process_command(): Check for lazy, or now |
1280 |
do_spec_1(): Add -z now and -z relro |
1281 |
main() add do_self_spec (espf_command_options_spec) |
1282 |
removed do_self_spec (espf_cc1_command_spec) do_self_spec (espf_link_command_spec) |
1283 |
|
1284 |
0.2.9 Magnus Granberg <zorry@×××.nu> |
1285 |
|
1286 |
* gcc/espf.h add ESPF_COMPILER_COMMAND_PIE_SPEC |
1287 |
add ESPF_LINK_COMMAND_PIE_SPEC |
1288 |
change ESPF_COMPILER_COMMAND_SPEC ESPF_LINK_COMMAND_SPEC |
1289 |
|
1290 |
0.2.8 Magnus Granberg <zorry@×××.nu> |
1291 |
|
1292 |
* gcc/configure removed check crtbeginTS.o |
1293 |
* gcc/espf.h added notes |
1294 |
add ESPF_CC1_SPEC |
1295 |
removed ESPF_CPP_UNIQUE_OPTIONS espf_override_options() |
1296 |
* gcc/gcc.c cc1_spec Set it to CC1_SPEC if ! ENABLE_ESPF |
1297 |
* gcc/toplev.c removed ESPF_OVERRIDE_OPTIONS |
1298 |
|
1299 |
0.2.7 Magnus Granberg <zorry@×××.nu> |
1300 |
|
1301 |
* gcc/opts.c (decode_options): Remove flag_strict_overflow as opt2 |
1302 |
* gcc/config.in removed HAVE_CRTBEGINTS |
1303 |
* gcc/Makefile removed crtbeginTS.o |
1304 |
* libgcc/Makefile.in removed crtbeginTS.o |
1305 |
* gcc/config/i386/i386.h removed espf_override_options ESPF_EXTRA_SPECS |
1306 |
* gcc/config/linux.h remoevd crtbeginTS.o |
1307 |
* gcc/espf.h ESPF_CC1_OPTIONS_PIE_SPEC renamed to ESPF_CC1_COMMAND_SPEC |
1308 |
* gcc/gcc.c add ESPF_EXTRA_SPECS |
1309 |
main() add do_self_spec (espf_cc1_command_spec) |
1310 |
|
1311 |
0.2.6 Magnus Granberg <zorry@×××.nu> |
1312 |
|
1313 |
* gcc/config/i386/i386.h add espf_override_options() to OVERRIDE_OPTIONS |
1314 |
* gcc/espf.h add espf_override_options() |
1315 |
* gcc/toplev.c add ESPF_OVERRIDE_OPTIONS |
1316 |
|
1317 |
0.2.5 Magnus Granberg <zorry@×××.nu> |
1318 |
|
1319 |
* gcc/config/i386/i386.h removed espf_cc1 |
1320 |
* gcc/config/i386/linux.h removed espf_cc1 %(crtend_gen) |
1321 |
* gcc/config/i386/x86-64.h removed espf_cc1 %(crtend_gen) |
1322 |
* gcc/config/linux.h removed espf_cc1 %(crtfile_gen) |
1323 |
%(crtbegin_t_gen) %(crtend_gen) |
1324 |
add crtbeginTS.o |
1325 |
* gcc/config.in removed TARGET_LIBC_PROVIDES_PIE |
1326 |
add HAVE_CRTBEGINTS |
1327 |
* gcc/Makefile.in add ESPF_NOPIE_CFLAGS ESPF_NOSSP_CFLAGS to |
1328 |
CRTSTUFF_T_CFLAGS |
1329 |
add ESPF_NOSSP_CFLAGS to CRTSTUFF_T_CFLAGS_S |
1330 |
* espf.h ESPF_CC1_SPEC renamed to ESPF_CC1_OPTIONS_SPEC |
1331 |
add ESPF_LINK_SPEC |
1332 |
ESPF_CC1_SSP_SPEC renamed to ESPF_CC1_OPTIONS_SSP_SPEC |
1333 |
ESPF_CC1_PIE_SPEC renamed to ESPF_CC1_OPTIONS_PIE_SPEC |
1334 |
ESPF_CC1_OPTIONS_SPEC renamed to ESPF_CC1_OPTIONS_PIE_INCOMPATIBLE_SPEC |
1335 |
LINK_PIE_SPEC renamed to ESPF_LINK_COMMAND_SPEC |
1336 |
removed ESPF_CC1_STRICT_SPEC CRTFILE_GEN_SPEC CRTBEGIN_GEN_SPEC |
1337 |
CRTBEGIN_T_GEN_SPEC CRTEND_GEN_SPEC |
1338 |
* gcc/configure remove TARGET_LIBC_PROVIDES_PIE |
1339 |
define HAVE_CRTBEGINTS |
1340 |
* gcc/gcc.c LINK_COMMAND_SPEC add %(espf_link) |
1341 |
main() add do_self_spec (espf_link_command_spec) |
1342 |
|
1343 |
0.2.4 Magnus Granberg <zorry@×××.nu> |
1344 |
|
1345 |
libgcc/Makefile.in clean specs |
1346 |
|
1347 |
0.2.3 Magnus Granberg <zorry@×××.nu> |
1348 |
|
1349 |
*gcc/espf.h add ESPF_CC1_STRICT_SPEC |
1350 |
|
1351 |
0.2.2 Magnus Granberg <zorry@×××.nu> |
1352 |
|
1353 |
* gcc/config/i386/i386.h Add espf_cc1 |
1354 |
Add ESPF_EXTRA_SPECS |
1355 |
* gcc/config/i386/linux.h Add espf_cc1 |
1356 |
* gcc/config/i386/x86-64.h Add espf_cc1 |
1357 |
* gcc/config/linux.h Add espf_cc1 |
1358 |
* gcc/Makefile.in add crtbeginTS.o to EXTRA_PARTS list |
1359 |
* libgcc/Makefile.in add crtbeginTS.o to EXTRA_PARTS list |
1360 |
* gcc/configure add define ENABLE_LIBSSP |
1361 |
* gcc/gcc.c %(fortify_default) renamed to %(espf_cpp_unique_options) |
1362 |
%(pie_incompatible) renamed to %(espf_cc1_options) |
1363 |
removed ESPF_EXTRA_SPECS |
1364 |
* gcc/espf.h ESPF_DEFAULT_SPEC renamed to ESPF_CC1_SPEC |
1365 |
SSP_DEFAULT_SPEC renamed to ESPF_CC1_SSP_SPEC |
1366 |
FORTIFY_DEFAULT_SPEC renamed to ESPF_CPP_UNIQUE_OPTIONS |
1367 |
PIE_DEFAULT_SPEC renamed to ESPF_CC1_PIE_SPEC |
1368 |
PIE_INCOMPATIBLE_SPEC renamed to ESPF_CC1_OPTIONS_SPEC |
1369 |
add new CRTFILE_GEN_SPEC CRTBEGIN_T_GEN_SPEC CRTEND_GEN_SPEC if ! |
1370 |
TARGET_LIBC_PROVIDES_PIE |
1371 |
|
1372 |
4.4.0-espf-0.2.1 Magnus Granberg <zorry@×××.nu> |
1373 |
|
1374 |
* gcc/gcc.c include: espf.h |
1375 |
cc1_spec = CC1_SPEC if not ENABLE_ESPF |
1376 |
cpp_unique_options add %(fortify_default) |
1377 |
cc1_options add %(pie_incompatible) |
1378 |
EXTRA_SPECS add ESPF_EXTRA_SPECS |
1379 |
* libgcc/Makefile.in add crtbeginTs.o |
1380 |
gcc/Makefile.in add ESPF_NOPIE_CFLAGS and ESPF_NOSSP_CFLAGS |
1381 |
LIBGCC2_CFLAGS add ESPF_NOSSP_CFLAGS |
1382 |
CRTSTUFF_CFLAGS add ESPF_NOPIE_CFLAGS and ESPF_NOSSP_CFLAGS |
1383 |
crtbegin* add crtbeginTS |
1384 |
$(out_object_file): ix86_split_to_parts() stack smashing attack b.g.o #149292 |
1385 |
* libgcc/configure add enable_espf |
1386 |
* gcc/config/linux.h add %(crtfile_gen) %(crtbegin_t_gen) %(crtend_gen) |
1387 |
* gcc/config/i386/linux.h add %(crtend_gen) |
1388 |
* gcc/config/i386/linux64.h add %(crtend_gen) |
1389 |
* gcc/config.gcc extra_parts add crtbeginTS.o |
1390 |
* libgcc/config.host extra_parts add crtbeginTS.o |
1391 |
* gcc/configure check -z relro |
1392 |
check -z now |
1393 |
check FORTIFY_SOURCES level 2 |
1394 |
check Scrt1.o |
1395 |
check --enable-espf |
1396 |
check crtbeginTS.o |
1397 |
* gcc/espf.h new file |
1398 |
* gcc/varasm.c (decl_tls_model): Check flag_pic instead of flag_shlib |
1399 |
* gcc/config.in add ENABLE_LIBSSP |
1400 |
add ENABLE_ESPF |
1401 |
add TARGET_LIBC_PROVIDES_FORTIFY2 |
1402 |
add TARGET_LIBC_PROVIDES_PIE |
1403 |
* configure define ENABLE_LIBSSP |
1404 |
|
1405 |
gcc-4.3.3-piepatches-v10.2.1 |
1406 |
|
1407 |
|
1408 |
|
1409 |
1.1 src/patchsets/gcc/4.5.3/pie/README.Gentoo.patches |
1410 |
|
1411 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/README.Gentoo.patches?rev=1.1&view=markup |
1412 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/README.Gentoo.patches?rev=1.1&content-type=text/plain |
1413 |
|
1414 |
Index: README.Gentoo.patches |
1415 |
=================================================================== |
1416 |
================ |
1417 |
=== W[hat]TF === |
1418 |
================ |
1419 |
|
1420 |
Gentoo patchsets that have grown too large to keep on the rsync mirrors have |
1421 |
been moved to our git tree. From there, we bundle up all the whee little |
1422 |
patches into a tarball and distribute it via our public mirroring system. |
1423 |
|
1424 |
If you want specific info about a patch (like wtf it does or whose great idea |
1425 |
it was to change the code), read the patch ! We try to fill out the top of |
1426 |
them with useful info such as what it does, why it's needed, bug reports, |
1427 |
original creators, etc... For simple patches, we reserve the right to assume |
1428 |
your IQ is greater than absolute 0 and figure out what it does w/out an |
1429 |
explanation. If, by some miracle of science, it falls below the absolute 0 |
1430 |
mark, you should help mankind by finding some scientists and letting them |
1431 |
probe you with their ... erm ... probes. |
1432 |
|
1433 |
================= |
1434 |
=== W[here]TF === |
1435 |
================= |
1436 |
|
1437 |
For those with git access |
1438 |
git://git.overlays.gentoo.org/proj/hardened-gccpatchset.git |
1439 |
|
1440 |
For those w/out git access, this URL should help you: |
1441 |
http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-gccpatchset.git;a=summary |
1442 |
|
1443 |
It should be pretty easy to find your way around, you're a big boy after all. |
1444 |
|
1445 |
|
1446 |
|
1447 |
1.1 src/patchsets/gcc/4.5.3/pie/README.history |
1448 |
|
1449 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/README.history?rev=1.1&view=markup |
1450 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.3/pie/README.history?rev=1.1&content-type=text/plain |
1451 |
|
1452 |
Index: README.history |
1453 |
=================================================================== |
1454 |
0.4.5 18-06-2010 |
1455 |
U 35_all_gcc44_config_crtbegints.patch |
1456 |
0.4.4 26-05-2010 |
1457 |
U 30_all_gcc44_esp.h.patch |
1458 |
0.4.3 26-05-2010 |
1459 |
U 20_all_gcc44_gcc.c.patch |
1460 |
U 30_all_gcc44_esp.h.patch |
1461 |
0.4.2 24-05-2010 |
1462 |
U 10_all_gcc44_configure.patch |
1463 |
U 12_all_gcc44_Makefile.in.patch |
1464 |
U 11_all_gcc44_config.in.patch |
1465 |
U 30_all_gcc44_esp.h.patch |
1466 |
0.4.1 29-04-2010 |
1467 |
U 10_all_gcc45_configure.patch |
1468 |
U 12_all_gcc45_Makefile.in.patch |
1469 |
U 11_all_gcc44_config.in.patch |
1470 |
U 30_all_gcc44_esp.h.patch |
1471 |
|
1472 |
0.4.0 19-04-2010 |
1473 |
U 10_all_gcc45_configure.patch |
1474 |
U 12_all_gcc45_Makefile.in.patch |
1475 |
U 11_all_gcc44_config.in.patch |
1476 |
U 20_all_gcc45_gcc.c.patch |
1477 |
- 30_all_gcc44_espf.h.patch |
1478 |
+ 30_all_gcc44_esp.h.patch |
1479 |
|
1480 |
0.3.9 14-04-2010 |
1481 |
U 10_all_gcc45_configure.patch |
1482 |
- 50_all_gcc44_no_ssp_tls_uclibc.patch |
1483 |
U 33_all_gcc45_config_rs6000_linux64.h.patch |
1484 |
|
1485 |
0.3.8 10-04-2010 |
1486 |
10_all_gcc44_configure.patch |
1487 |
11_all_gcc44_config.in.patch |
1488 |
20_all_gcc44_gcc.c.patch |
1489 |
30_all_gcc44_espf.h.patch |
1490 |
|
1491 |
0.3.7 10-02-2010 |
1492 |
20_all_gcc44_gcc.c.patch |
1493 |
30_all_gcc44_espf.h.patch |
1494 |
10_all_gcc44_configure.patch |
1495 |
|
1496 |
0.3.6 23-12-2009 |
1497 |
- 10_all_gcc44_configure.patch |
1498 |
+ 10_all_gcc44_configure.patch |
1499 |
- 30_all_gcc44_espf.h.patch |
1500 |
+ 30_all_gcc44_espf.h.patch |
1501 |
- README.Changelog |
1502 |
+ README.Changelog |
1503 |
- README.history |
1504 |
+ README.history |
1505 |
- README |
1506 |
+ README |
1507 |
|
1508 |
0.3.5 24-09-2009 |
1509 |
- 30_all_gcc44_espf.h.patch |
1510 |
+ 30_all_gcc44_espf.h.patch |
1511 |
- 35_all_gcc44_config_crtbegints.patch |
1512 |
+ 35_all_gcc44_config_crtbegints.patch |
1513 |
+ 33_all_gcc44_config_rs6000_linux64.h.patch |
1514 |
- README.Changelog |
1515 |
+ README.Changelog |
1516 |
- README.history |
1517 |
+ README.history |
1518 |
+ README.Gentoo.patches |
1519 |
|
1520 |
0.3.4 11-09-2009 |
1521 |
- 10_all_gcc44_configure.patch |
1522 |
+ 10_all_gcc44_configure.patch |
1523 |
- 11_all_gcc44_config.in.patch |
1524 |
+ 11_all_gcc44_config.in.patch |
1525 |
- 12_all_gcc44_Makefile.in.patch |
1526 |
+ 12_all_gcc44_Makefile.in.patch |
1527 |
- 20_all_gcc44_gcc.c.patch |
1528 |
+ 20_all_gcc44_gcc.c.patch |
1529 |
- 23_all_gcc44_opts.c.patch |
1530 |
- 30_all_gcc44_espf.h.patch |
1531 |
+ 30_all_gcc44_espf.h.patch |
1532 |
+ 35_all_gcc44_config_crtbegints.patch |
1533 |
+ 60_all_gcc44_invoke.texi.patch |
1534 |
- README.Changelog |
1535 |
+ README.Changelog |
1536 |
- README.history |
1537 |
+ README.history |
1538 |
- README |
1539 |
+ README |
1540 |
|
1541 |
0.3.3 14-08-2009 |
1542 |
- 23_all_gcc44_opts.c.patch |
1543 |
+ 23_all_gcc44_opts.c.patch |
1544 |
|
1545 |
0.3.2 09-08-2009 |
1546 |
+ 50_all_gcc44_no_ssp_tls_uclibc.patch |
1547 |
+ README.Changelog |
1548 |
+ README.history |
1549 |
- 23_all_gcc44_opts.c.patch |
1550 |
+ 23_all_gcc44_opts.c.patch |
1551 |
- 30_all_gcc44-espf.h.patch |
1552 |
+ 30_all_gcc44-espf.h.patch |
1553 |
|
1554 |
0.3.1 23-07-2009 |
1555 |
- 10_all_gcc44_configure.patch |
1556 |
+ 10_all_gcc44_configure.patch |
1557 |
|
1558 |
0.3.0 23-07-2009 |
1559 |
- 10_all_gcc44_configure.patch |
1560 |
+ 10_all_gcc44_configure.patch |
1561 |
- 11_all_gcc44_config.in.patch |
1562 |
+ 11_all_gcc44_config.in.patch |
1563 |
- 12_all_gcc44_Makefile.in.patch |
1564 |
+ 12_all_gcc44_Makefile.in.patch |
1565 |
- 20_all_gcc44_gcc.c.patch |
1566 |
+ 20_all_gcc44_gcc.c.patch |
1567 |
+ 40_all_gcc44_obj_lang-specs.h.patch |
1568 |
+ 40_all_gcc44_objp_lang-specs.h.patch |
1569 |
+ 40_all_gcc44_cp_lang-specs.h.patch |
1570 |
- 50_all_gcc44_gentoo_v20090614.1.patch |
1571 |
- 30_all_gcc44-espf.h.patch |
1572 |
+ 30_all_gcc44-espf.h.patch |
1573 |
|
1574 |
0.2.9 14-06-2009 |
1575 |
- 12_all_gcc44_Makefile.in.patch |
1576 |
+ 12_all_gcc44_Makefile.in.patch |
1577 |
- 30_all_gcc44-espf.h.patch |
1578 |
+ 30_all_gcc44-espf.h.patch |
1579 |
- 50_all_gcc44_gentoo_v20090612.2.patch |
1580 |
+ 50_all_gcc44_gentoo_v20090614.1.patch |
1581 |
|
1582 |
0.2.8 12-06-2009 |
1583 |
- 10_all_gcc44_configure.patch |
1584 |
+ 10_all_gcc44_configure.patch |
1585 |
- 11_all_gcc44_config.in.patch |
1586 |
+ 11_all_gcc44_config.in.patch |
1587 |
- 12_all_gcc44_Makefile.in.patch |
1588 |
+ 12_all_gcc44_Makefile.in.patch |
1589 |
- 22_all_gcc44-toplev.c.patch |
1590 |
- 25_all_gcc44-espf.h.patch |
1591 |
+ 30_all_gcc44-espf.h.patch |
1592 |
+ 50_all_gcc44_gentoo_v20090612.2.patch |
1593 |
|
1594 |
0.2.7 29-05-2009 |
1595 |
- 11_all_gcc44_config.in.patch |
1596 |
+ 11_all_gcc44_config.in.patch |
1597 |
- 12_all_gcc44_Makefile.in.patch |
1598 |
+ 12_all_gcc44_Makefile.in.patch |
1599 |
- 20_all_gcc44_gcc.c.patch |
1600 |
+ 20_all_gcc44_gcc.c.patch |
1601 |
+ 23_all_gcc44_opts.c.patch |
1602 |
- 25_all_gcc44-espf.h.patch |
1603 |
+ 25_all_gcc44-espf.h.patch |
1604 |
- 30_all_gcc44-config-defaul-linux.patch |
1605 |
|
1606 |
0.2.6 28-05-2009 |
1607 |
+ 22_all_gcc44-toplev.c.patch |
1608 |
- 25_all_gcc44-espf.h.patch |
1609 |
+ 25_all_gcc44-espf.h.patch |
1610 |
- 30_all_gcc44-config-defaul-linux.patch |
1611 |
+ 30_all_gcc44-config-defaul-linux.patch |
1612 |
|
1613 |
0.2.5 27-05-2009 |
1614 |
- 10_all_gcc44_configure.patch |
1615 |
+ 10_all_gcc44_configure.patch |
1616 |
- 12_all_gcc44_Makefile.in.patch |
1617 |
+ 12_all_gcc44_Makefile.in.patch |
1618 |
- 20_all_gcc44_gcc.c.patch |
1619 |
+ 20_all_gcc44_gcc.c.patch |
1620 |
- 25_all_gcc44-espf.h.patch |
1621 |
+ 25_all_gcc44-espf.h.patch |
1622 |
- 30_all_gcc44-config-defaul-linux.patch |
1623 |
+ 30_all_gcc44-config-defaul-linux.patch |
1624 |
- 40_all_gcc44-gentoo.patch |
1625 |
|
1626 |
0.2.4 08-05-2009 |
1627 |
- 12_all_gcc44_Makefile.in.patch |
1628 |
+ 12_all_gcc44_Makefile.in.patch |
1629 |
|
1630 |
0.2.3 08-05-2009 |
1631 |
- 20_all_gcc44_gcc.c.patch |
1632 |
+ 20_all_gcc44_gcc.c.patch |
1633 |
- 40_all_gcc44-gentoo.patch |
1634 |
+ 40_all_gcc44-gentoo.patch |
1635 |
|
1636 |
0.2.2 04-05-2009 |
1637 |
+ 10_all_gcc44_configure.patch |
1638 |
+ 11_all_gcc44_config.in.patch |
1639 |
+ 12_all_gcc44_Makefile.in.patch |
1640 |
+ 20_all_gcc44_gcc.c.patch |
1641 |
+ 21_all_gcc44_decl-tls-model.patch |
1642 |
+ 25_all_gcc44-espf.h.patch |
1643 |
+ 30_all_gcc44-config-defaul-linux.patch |
1644 |
+ 40_all_gcc44-gentoo.patch |
1645 |
- 01_all_gcc44-configure.patch |
1646 |
- 10_all_gcc44-gcc_configure.patch |
1647 |
- 11_all_gcc44-gcc_config.in.patch |
1648 |
- 12_all_gcc44-gcc_config.gcc.patch |
1649 |
- 13_all_gcc44-gcc_Makefile.in.patch |
1650 |
- 15_all_gcc44-libgcc_config.host.patch |
1651 |
- 16_all_gcc44-libgcc_configure.patch |
1652 |
- 17_all_gcc44-libgcc_Makefile.in.patch |
1653 |
- 21_all_gcc44-gcc_espf.h.patch |
1654 |
- 22_all_gcc44-gcc_gcc.c.patch |
1655 |
- 23_all_gcc44-gcc_varasm.c.patch |
1656 |
- 30_all_gcc44-add-crt-start-endfiles-linux.patch |
1657 |
|
1658 |
0.2.1 28-04-2009 |
1659 |
+ 01_all_gcc44-configure.patch |
1660 |
+ 10_all_gcc44-gcc_configure.patch |
1661 |
+ 11_all_gcc44-gcc_config.in.patch |
1662 |
+ 12_all_gcc44-gcc_config.gcc.patch |
1663 |
+ 13_all_gcc44-gcc_Makefile.in.patch |
1664 |
+ 15_all_gcc44-libgcc_config.host.patch |
1665 |
+ 16_all_gcc44-libgcc_configure.patch |
1666 |
+ 17_all_gcc44-libgcc_Makefile.in.patch |
1667 |
+ 21_all_gcc44-gcc_espf.h.patch |
1668 |
+ 22_all_gcc44-gcc_gcc.c.patch |
1669 |
+ 23_all_gcc44-gcc_varasm.c.patch |
1670 |
+ 30_all_gcc44-add-crt-start-endfiles-linux.patch |
1671 |
- 00_all_gcc4.4-cvs-incompat.patch |
1672 |
- 05_all_gcc4.4-compile-no-ssp.patch |
1673 |
- 10_all_gcc4.4-hardened-minispecs-support.patch |
1674 |
- 11_all_gcc4.4-decl-tls-model.patch |
1675 |
- 12_all_gcc4.4-fortify-minispecs-support.patch |
1676 |
- 20-all_gcc4.4-default-crt-start-endfile.patch |
1677 |
- 30-all_gcc4.4-crtbeginTS-fno-PIE.patch |
1678 |
|
1679 |
0.1.0 16.04.2009 |
1680 |
+ 00_all_gcc4.4-cvs-incompat.patch |
1681 |
+ 05_all_gcc4.4-compile-no-ssp.patch |
1682 |
+ 10_all_gcc4.4-hardened-minispecs-support.patch |
1683 |
+ 11_all_gcc4.4-decl-tls-model.patch |
1684 |
+ 12_all_gcc4.4-fortify-minispecs-support.patch |
1685 |
+ 20-all_gcc4.4-default-crt-start-endfile.patch |
1686 |
+ 30-all_gcc4.4-crtbeginTS-fno-PIE.patch |