aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2016-12-26 10:08:51 +0100
committerFlorian Weimer <fweimer@redhat.com>2016-12-26 10:08:51 +0100
commitbc174f20b83d19167ecac14ce0762eddbe47cc64 (patch)
tree0e04ae0e0507b28d468f24e9110ce4880bed2617 /ChangeLog
parent995635f95b707488c23bba07be8016c9682d4045 (diff)
downloadglibc-bc174f20b83d19167ecac14ce0762eddbe47cc64.tar
glibc-bc174f20b83d19167ecac14ce0762eddbe47cc64.tar.gz
glibc-bc174f20b83d19167ecac14ce0762eddbe47cc64.tar.bz2
glibc-bc174f20b83d19167ecac14ce0762eddbe47cc64.zip
Ignore __stack_chk_fail* in the rtld mapfile computation [BZ #7065]
The previous commit prevented rtld itself from being built with -fstack-protector, but this is not quite enough. We identify which objects belong in rtld via a test link and analysis of the resulting mapfile. That link is necessarily done against objects that are stack-protected, so drags in __stack_chk_fail_local, __stack_chk_fail, and all the libc and libio code they use. To stop this happening, use --defsym in the test librtld.map-production link to force the linker to predefine these two symbols (to 0, but it could be to anything). (In a real link, this would of course be catastrophic, but these object files are never used for anything else.)
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog6
1 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 82fc4e29d3..ae58d91110 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
2016-12-26 Nick Alcock <nick.alcock@oracle.com>
[BZ #7065]
+ * elf/Makefile (dummy-stack-chk-fail): New.
+ (librtld.map): Use it.
+
+2016-12-26 Nick Alcock <nick.alcock@oracle.com>
+
+ [BZ #7065]
Compile the dynamic linker without stack protection.
* elf/Makefile (elide-stack-protector): New.
(CFLAGS-.os): Use it, eliding $(all-rtld-routines).