blob: 33a5f1196109da91ac32727fad22d1d932de1efb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
|
0.4.4 Magnus Granberg <zorry@gentoo.org>
* gcc/esp.h Renamed ESP_CC1_STRICT_SPEC to ESP_CC1_STRICT_OVERFLOW_SPEC
Renamed ESP_OPTIONS_PIE_CHECK_SPEC to ESP_LINK_PIE_CHECK_SPEC
0.4.3 Magnus Granberg <zorry@gentoo.org>
#299061 b.g.o
* gcc/gcc.c removed the pie incompatible specs rule call
* gcc/esp.h Move the -pie incompatible check to esp_link
remove the -shared incompatible check
0.4.2 Magnus Granberg <zorry@gentoo.org>
* configure remove the changes from 0.4.1
* Makefile.in remove the changes from 0.4.1 remove -fstack-protector check.
* gcc/configure remove the changes from 0.4.1
* gcc/config.in remove the changes from 0.4.1 remove HAVE_GCC_SSP
* gcc/Makefile remove the changes from 0.4.1
* gcc/esp.h change HAVE_GCC_LD_PIE to (EFAULT_PIE || EFAULT_PIE_SSP)
change HAVE_GCC_SSP to (EFAULT_SSP || EFAULT_PIE_SSP)
* libmudflap/Makefiles.in remove the changes from 0.4.1
0.4.1 Magnus Granberg <zorry@gentoo.org>
*configure removed check for --enable-esp removed enable_esp
added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set
*Makefile.in renamed enable_esp to enable_esp_set
*gcc/configure removed check for --enable-esp removed enable_esp
added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set
added a -fPIE -pie check. change AC_COMPILE_IFELSE to AC_LINK_IFELSE in the
-fstack-protector check.
* gcc/config.in Added HAVE_GCC_LD_PIE
*gcc/Makefile.in renamed enable_esp to enable_esp_set
*gcc/esp.h Renamed HAVE_LD_PIE to HAVE_GCC_LD_PIE
Added HAVE_GCC_LD_PIE to #define ESP_CC1_PIE_SPEC. Move ESP_COMMAND_OPTIONS_SPEC
* libmudflap/Makefiles.in In enable_esp change ifeq to ifdef.
#293843 b.g.o
*gcc/esp.h Added -nonow to the -z now specs.
0.4.0 Magnus Granberg <zorry@gentoo.org>
rename espf to esp and change espf-patchset to piepatchset
0.3.9 Magnus Granberg <zorry@gentoo.org>
* gcc/configure Added check for TLS on the target in the SSP check.
#149292 b.g.o
* gcc/config/i386/linux.h Removed uclibc don't support TLS on stack-protector
* gcc/config/i386/linux64.h Removed uclibc don't support TLS on stack-protector
* gcc/config/rs6000/linux.h Removed uclibc don't support TLS on stack-protector
* gcc/config/i386/linux.h Removed uclibc don't support TLS on stack-protector
* gcc/config/sparc/linux.h Removed uclibc don't support TLS on stack-protector
* gcc/config/sparc/linux64.h Removed uclibc don't support TLS on stack-protector
0.3.8 Magnus Granberg <zorry@gentoo.org>
* gcc/configure Added a -fstack-protector check.
* gcc/config.in Added HAVE_GCC_SSP
* gcc/gcc.c Removed code for espf_link_spec in do_spec_1() %X
* gcc/espf.h Added ifdef HAVE_GCC_SSP, change code for espf_link_spec and link_pie_spec
0.3.7 Magnus Granberg <zorry@ume.nu>
* gcc/gcc.c Remove code for Wl,-z,now check
* gcc/espf.h Change text for -z now
0.3.6 Magnus Granberg <zorry@ume.nu>
* configure Check --enable-espf change ppc* to powerpc*, powerpc64 and add ia64.
* gcc/configure Don't check for -z,relro on ia64. Disable crtbeginTS for ia64.
* gcc/espf.h ia64 don't support -fstack-protector*
0.3.5 Maguns Granberg <zorry@ume.nu>
* gcc/espf.h Change the specs for crtbegin.TS.o.
* gcc/gcc.c Rename espf_cc1_options to espf_options_pie_check.
* gcc/config/linux.h Fix typos ENABLE_CRTBEGINS to ENABLE_CRTBEGINTS
* gcc/config/rs6000/linux64.h ASM_SPEC32: %{fpic:-K PIC} %{fPIC:-K PIC} to %{fpic|fPIC|fpie|fPIE:-K PIC}
0.3.4 Magnus Granberg <zorry@ume.nu>
* gcc/configure Add crtbeginTS.o support.
* gcc/Makefile.in Add crtbeginTS.o support.
* gcc/gcc.c Add espf_cc1_options.
* gcc/espf.h Added espf_cc1_options, crtbeginTS.o support,
espf_cc1_options and espf_cc1_strictoverflow.
* gcc/config.in Add crtbeginTS.o support.
* gcc/config/linux.h Add crtbeginTS.o support.
* gcc/config/rs6000/sysv4.h Add crtbeginTS.o support.
* gcc/doc/invoke.texi Add NOTES about -fstack-protector-all,
-pie and -fPIE.
* libgcc/Makefile.in Add crtbeginTS.o support.
0.3.3 Magnus Granberg <zorry@ume.nu>
* gcc/opts.c change #ifdef ENABLE_ESPF to #ifndef ENABLE_ESPF
0.3.2 Magnus Granberg <zorry@ume.nu>
* gcc/opts.c disable flag_delete_null_pointer_checks >= -O2
* gcc/espf.h add ESPF_CC1_SSP_SPEC and ESPF_CC1_PIE_SPEC to fix bugs on -vanilla spec
#149292 b.g.o
* gcc/config/i386/linux.h uclibc don't support TLS on stack-protector
* gcc/config/i386/linux64.h uclibc don't support TLS on stack-protector
* gcc/config/rs6000/linux.h uclibc don't support TLS on stack-protector
* gcc/config/i386/linux.h uclibc don't support TLS on stack-protector
* gcc/config/sparc/linux.h uclibc don't support TLS on stack-protector
* gcc/config/sparc/linux64.h uclibc don't support TLS on stack-protector
0.3.1 Magnus Granberg <zorry@ume.nu>
* gcc/cp/Make-lang.in cc1plus: pch test fail when cc1plus is compile with -fPIE.
* gcc/configure fix --enable-espf when USE"-hardened"
4.4.1-espf-0.3.0 Magnus Granberg <zorry@ume.nu>
* gcc/espf.h add ESPF_LINK_SPEC ESPF_LINK_NOW_SPEC
* gcc/gcc.c move do_self_spec (espf_command_options_spec)
do_spec_1() add espf_link_spec
0.3.0 Magnus Granberg <zorry@ume.nu>
* gcc/objc/lang-specs.h Add %(espf_options)
* gcc/objcp/lang-specs.h Add %(espf_options)
* gcc/cp/lang-specs.h Add %(espf_options)
* gcc/config.in removed ENABLE_LIBSSP
* Makefile.in We add -fno-stack-protector to
BOOT_CFLAGS, LIBCFLAGS and LIBCXXFLAGS
cc1: pch.exp test fail when cc1 is compile with -fPIE
* libmudflap/Makefiles.in Add -fno-stack-protector -U_FORTIFY_SOURCE
to AM_CFLAGS
* configure add --enable-espf
add -fno-stack-protector to stage1_cflags
add targes ppc* arm sparc*
* gcc/configure change code for check --enable-espf
* libmudflap/configure add enable_espf
* gcc/espf.h ESPF_CC1_OPTIONS_SPEC renamed to ESPF_OPTIONS_SPEC
add ESPF_CPP_OPTIONS_SPEC ESPF_COMMAND_OPTIONS_SPEC
ESPF_CC1_OPTIONS_SSP_SPEC renamed to ESPF_OPTIONS_SSP_SPEC
ESPF_COMPILER_COMMAND_PIE_SPEC renamed to ESPF_OPTIONS_PIE_SPEC
ESPF_LINK_COMMAND_PIE_SPEC renamed to ESPF_LINK_PIE_SPEC
add !p !pg to ESPF_LINK_PIE_SPEC
removed ESPF_LINK_SPEC ESPF_CC1_OPTIONS_PIE_INCOMPATIBLE_SPEC
* gcc/gcc.c cpp_options add %(espf_cpp_options)
compiler spec add %(espf_options)
change code for ESPF_EXTRA_SPECS
process_command(): Check for lazy, or now
do_spec_1(): Add -z now and -z relro
main() add do_self_spec (espf_command_options_spec)
removed do_self_spec (espf_cc1_command_spec) do_self_spec (espf_link_command_spec)
0.2.9 Magnus Granberg <zorry@ume.nu>
* gcc/espf.h add ESPF_COMPILER_COMMAND_PIE_SPEC
add ESPF_LINK_COMMAND_PIE_SPEC
change ESPF_COMPILER_COMMAND_SPEC ESPF_LINK_COMMAND_SPEC
0.2.8 Magnus Granberg <zorry@ume.nu>
* gcc/configure removed check crtbeginTS.o
* gcc/espf.h added notes
add ESPF_CC1_SPEC
removed ESPF_CPP_UNIQUE_OPTIONS espf_override_options()
* gcc/gcc.c cc1_spec Set it to CC1_SPEC if ! ENABLE_ESPF
* gcc/toplev.c removed ESPF_OVERRIDE_OPTIONS
0.2.7 Magnus Granberg <zorry@ume.nu>
* gcc/opts.c (decode_options): Remove flag_strict_overflow as opt2
* gcc/config.in removed HAVE_CRTBEGINTS
* gcc/Makefile removed crtbeginTS.o
* libgcc/Makefile.in removed crtbeginTS.o
* gcc/config/i386/i386.h removed espf_override_options ESPF_EXTRA_SPECS
* gcc/config/linux.h remoevd crtbeginTS.o
* gcc/espf.h ESPF_CC1_OPTIONS_PIE_SPEC renamed to ESPF_CC1_COMMAND_SPEC
* gcc/gcc.c add ESPF_EXTRA_SPECS
main() add do_self_spec (espf_cc1_command_spec)
0.2.6 Magnus Granberg <zorry@ume.nu>
* gcc/config/i386/i386.h add espf_override_options() to OVERRIDE_OPTIONS
* gcc/espf.h add espf_override_options()
* gcc/toplev.c add ESPF_OVERRIDE_OPTIONS
0.2.5 Magnus Granberg <zorry@ume.nu>
* gcc/config/i386/i386.h removed espf_cc1
* gcc/config/i386/linux.h removed espf_cc1 %(crtend_gen)
* gcc/config/i386/x86-64.h removed espf_cc1 %(crtend_gen)
* gcc/config/linux.h removed espf_cc1 %(crtfile_gen)
%(crtbegin_t_gen) %(crtend_gen)
add crtbeginTS.o
* gcc/config.in removed TARGET_LIBC_PROVIDES_PIE
add HAVE_CRTBEGINTS
* gcc/Makefile.in add ESPF_NOPIE_CFLAGS ESPF_NOSSP_CFLAGS to
CRTSTUFF_T_CFLAGS
add ESPF_NOSSP_CFLAGS to CRTSTUFF_T_CFLAGS_S
* espf.h ESPF_CC1_SPEC renamed to ESPF_CC1_OPTIONS_SPEC
add ESPF_LINK_SPEC
ESPF_CC1_SSP_SPEC renamed to ESPF_CC1_OPTIONS_SSP_SPEC
ESPF_CC1_PIE_SPEC renamed to ESPF_CC1_OPTIONS_PIE_SPEC
ESPF_CC1_OPTIONS_SPEC renamed to ESPF_CC1_OPTIONS_PIE_INCOMPATIBLE_SPEC
LINK_PIE_SPEC renamed to ESPF_LINK_COMMAND_SPEC
removed ESPF_CC1_STRICT_SPEC CRTFILE_GEN_SPEC CRTBEGIN_GEN_SPEC
CRTBEGIN_T_GEN_SPEC CRTEND_GEN_SPEC
* gcc/configure remove TARGET_LIBC_PROVIDES_PIE
define HAVE_CRTBEGINTS
* gcc/gcc.c LINK_COMMAND_SPEC add %(espf_link)
main() add do_self_spec (espf_link_command_spec)
0.2.4 Magnus Granberg <zorry@ume.nu>
libgcc/Makefile.in clean specs
0.2.3 Magnus Granberg <zorry@ume.nu>
*gcc/espf.h add ESPF_CC1_STRICT_SPEC
0.2.2 Magnus Granberg <zorry@ume.nu>
* gcc/config/i386/i386.h Add espf_cc1
Add ESPF_EXTRA_SPECS
* gcc/config/i386/linux.h Add espf_cc1
* gcc/config/i386/x86-64.h Add espf_cc1
* gcc/config/linux.h Add espf_cc1
* gcc/Makefile.in add crtbeginTS.o to EXTRA_PARTS list
* libgcc/Makefile.in add crtbeginTS.o to EXTRA_PARTS list
* gcc/configure add define ENABLE_LIBSSP
* gcc/gcc.c %(fortify_default) renamed to %(espf_cpp_unique_options)
%(pie_incompatible) renamed to %(espf_cc1_options)
removed ESPF_EXTRA_SPECS
* gcc/espf.h ESPF_DEFAULT_SPEC renamed to ESPF_CC1_SPEC
SSP_DEFAULT_SPEC renamed to ESPF_CC1_SSP_SPEC
FORTIFY_DEFAULT_SPEC renamed to ESPF_CPP_UNIQUE_OPTIONS
PIE_DEFAULT_SPEC renamed to ESPF_CC1_PIE_SPEC
PIE_INCOMPATIBLE_SPEC renamed to ESPF_CC1_OPTIONS_SPEC
add new CRTFILE_GEN_SPEC CRTBEGIN_T_GEN_SPEC CRTEND_GEN_SPEC if !
TARGET_LIBC_PROVIDES_PIE
4.4.0-espf-0.2.1 Magnus Granberg <zorry@ume.nu>
* gcc/gcc.c include: espf.h
cc1_spec = CC1_SPEC if not ENABLE_ESPF
cpp_unique_options add %(fortify_default)
cc1_options add %(pie_incompatible)
EXTRA_SPECS add ESPF_EXTRA_SPECS
* libgcc/Makefile.in add crtbeginTs.o
gcc/Makefile.in add ESPF_NOPIE_CFLAGS and ESPF_NOSSP_CFLAGS
LIBGCC2_CFLAGS add ESPF_NOSSP_CFLAGS
CRTSTUFF_CFLAGS add ESPF_NOPIE_CFLAGS and ESPF_NOSSP_CFLAGS
crtbegin* add crtbeginTS
$(out_object_file): ix86_split_to_parts() stack smashing attack b.g.o #149292
* libgcc/configure add enable_espf
* gcc/config/linux.h add %(crtfile_gen) %(crtbegin_t_gen) %(crtend_gen)
* gcc/config/i386/linux.h add %(crtend_gen)
* gcc/config/i386/linux64.h add %(crtend_gen)
* gcc/config.gcc extra_parts add crtbeginTS.o
* libgcc/config.host extra_parts add crtbeginTS.o
* gcc/configure check -z relro
check -z now
check FORTIFY_SOURCES level 2
check Scrt1.o
check --enable-espf
check crtbeginTS.o
* gcc/espf.h new file
* gcc/varasm.c (decl_tls_model): Check flag_pic instead of flag_shlib
* gcc/config.in add ENABLE_LIBSSP
add ENABLE_ESPF
add TARGET_LIBC_PROVIDES_FORTIFY2
add TARGET_LIBC_PROVIDES_PIE
* configure define ENABLE_LIBSSP
gcc-4.3.3-piepatches-v10.2.1
|