diff options
author | 2016-12-26 10:08:51 +0100 | |
---|---|---|
committer | 2016-12-26 10:08:51 +0100 | |
commit | bc174f20b83d19167ecac14ce0762eddbe47cc64 (patch) | |
tree | 0e04ae0e0507b28d468f24e9110ce4880bed2617 /sysdeps/unix/sysv/linux/generic | |
parent | Compile the dynamic linker without stack protection [BZ #7065] (diff) | |
download | glibc-bc174f20b83d19167ecac14ce0762eddbe47cc64.tar.xz 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 'sysdeps/unix/sysv/linux/generic')
0 files changed, 0 insertions, 0 deletions