diff options
author | kan <kan@FreeBSD.org> | 2009-06-28 23:51:39 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2009-06-28 23:51:39 +0000 |
commit | f780ef8f1980f918f04365b9374ef3f0b5c8652b (patch) | |
tree | 601ae0a8f92e47fd15b2574968520ee80c372d0e /Makefile.inc1 | |
parent | 54f24c117ae26fcfb1000a0fe7ab5f376997f7f6 (diff) | |
download | FreeBSD-src-f780ef8f1980f918f04365b9374ef3f0b5c8652b.zip FreeBSD-src-f780ef8f1980f918f04365b9374ef3f0b5c8652b.tar.gz |
Eliminate .text relocations in shared libraries compiled with stack protector.
Use libssp_nonshared library to pull __stack_chk_fail_local symbol into
each library that needs it instead of pulling it from libc. GCC generates
local calls to this function which result in absolute relocations put into
position-independent code segment, making dynamic loader do extra work everys
time given shared library is being relocated and making affected text pages
non-shareable.
Reviewed by: kib
Approved by: re (kensmith)
Diffstat (limited to 'Makefile.inc1')
-rw-r--r-- | Makefile.inc1 | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1 index 0f8d28e..d05b004 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1069,7 +1069,7 @@ libraries: # # static libgcc.a prerequisite for shared libc # -_prereq_libs= gnu/lib/libgcc +_prereq_libs= gnu/lib/libssp/libssp_nonshared gnu/lib/libgcc # These dependencies are not automatically generated: # |