Disable stack protector in early static initialization [BZ #7065]
commit10c85e76c09716e744b4a41006718400b1eb2e84
authorNick Alcock <nick.alcock@oracle.com>
Mon, 26 Dec 2016 09:08:45 +0000 (26 10:08 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 26 Dec 2016 09:08:45 +0000 (26 10:08 +0100)
treedb306524b5147cd0ec6a67dd95aeb079d99112cc
parentde6591238b478bc86b8cf5af01a484114e399213
Disable stack protector in early static initialization [BZ #7065]

The startup code in csu/, and the brk and sbrk functions are
needed very early in initialization of a statically-linked program,
before the stack guard is initialized; TLS initialization also uses
memcpy, which cannot overrun its own stack.  Mark all of these as
-fno-stack-protector.

We also finally introduce @libc_cv_ssp@ and @no_stack_protector@, both
substituted by the configury changes made earlier, to detect the case
when -fno-stack-protector is supported by the compiler, and
unconditionally pass it in when this is the case, whether or not
--enable-stack-protector is passed to configure.  (This means that
it'll even work when the compiler's been hacked to pass
-fstack-protector by default, unless the hackage is so broken that
it does so in a way that is impossible to override.)
ChangeLog
config.make.in
csu/Makefile
misc/Makefile
string/Makefile