summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2016-12-26 10:08:54 +0100
committerFlorian Weimer <fweimer@redhat.com>2016-12-26 10:10:58 +0100
commit66a704c43cfec810fea67a6959f2d1c94f4d594f (patch)
tree174dece4f1f3b73874398c029f8aa96911632e9d /ChangeLog
parentbc174f20b83d19167ecac14ce0762eddbe47cc64 (diff)
downloadglibc-66a704c43cfec810fea67a6959f2d1c94f4d594f.tar.gz
glibc-66a704c43cfec810fea67a6959f2d1c94f4d594f.tar.xz
glibc-66a704c43cfec810fea67a6959f2d1c94f4d594f.zip
Work even with compilers which enable -fstack-protector by default [BZ #7065]
With all the machinery we just added, we can easily arrange to work even
when the compiler passes in -fstack-protector automatically: all the
necessary bits of glibc are always compiled with -fno-stack-protector
now.

So tear out the check in configure, and add appropriate calls to
-fno-stack-protector in tests that need them (largely those that use
-nostdlib), since we don't yet have a __stack_chk_fail that those
tests can rely upon.  (GCC often provides one, but we cannot rely on
this, especially not when bootstrapping.)

When stack protection is disabled, explicitly pass -fno-stack-protector
to everything, to stop a compiler hacked to enable it from inserting
calls to __stack_chk_fail via the PLT in every object file.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog21
1 files changed, 21 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ae58d91110..5e3e64a3da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,27 @@
 2016-12-26  Nick Alcock  <nick.alcock@oracle.com>
 
 	[BZ #7065]
+	* configure.ac: Add check for unsupported stack-protection level.
+	(libc_cv_predef_stack_protector): Remove.
+	(no_ssp): New variable.
+	(STACK_PROTECTOR_LEVEL): Set to zero when --disable-stack-protector.
+	(stack_protector): Set to -fno-stack-protector similarly.
+	(libc_cv_ld_gnu_indirect_function): Use no_ssp.
+	(libc_cv_asm_set_directive): Likewise.
+	(libc_cv_protected_data): Likewise.
+	(libc_cv_z_combreloc): Likewise.
+	(libc_cv_hashstyle): Likewise.
+	(libc_cv_has_glob_dat): Likewise.
+	(libc_cv_output_format): Likewise.
+	(libc_cv_output_format): Likewise.
+	(libc_cv_ehdr_start): Likewise.
+	* aclocal.m4 (LIBC_TRY_LINK_STATIC): Likewise.
+	(LIBC_LINKER_FEATURE): Likewise.
+	(LIBC_COMPILER_BUILTIN_INLINED): Likewise.
+
+2016-12-26  Nick Alcock  <nick.alcock@oracle.com>
+
+	[BZ #7065]
 	* elf/Makefile (dummy-stack-chk-fail): New.
 	(librtld.map): Use it.