diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2016-12-26 10:08:18 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2016-12-26 10:08:19 +0100 |
commit | 03baef1c9cfb396d76cae20a00aee657871e79c4 (patch) | |
tree | ed115b828293aa26c4b5f338391286b25eaa955e /config.h.in | |
parent | 81e0662e5f2c342ffa413826b7b100d56677b613 (diff) | |
download | glibc-03baef1c9cfb396d76cae20a00aee657871e79c4.tar.gz glibc-03baef1c9cfb396d76cae20a00aee657871e79c4.tar.xz glibc-03baef1c9cfb396d76cae20a00aee657871e79c4.zip |
Configure support for --enable-stack-protector [BZ #7065]
This adds =all and =strong, with obvious semantics, defaulting to off. We don't validate the value of the option yet: that's in a later patch. Nor do we use it for anything at this stage. We differentiate between 'the compiler understands -fstack-protector' and 'the user wanted -fstack-protector' so that we can pass -fno-stack-protector in appropriate places even if the user didn't want to turn on -fstack-protector for other parts. (This helps us overcome another existing limitation, that glibc doesn't work with GCCs hacked to pass in -fstack-protector by default.) We also arrange to set the STACK_PROTECTOR_LEVEL #define to a value appropriate for the stack-protection level in use for each file in particular.
Diffstat (limited to 'config.h.in')
-rw-r--r-- | config.h.in | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/config.h.in b/config.h.in index 33757bd553..d96ce0f8cf 100644 --- a/config.h.in +++ b/config.h.in @@ -48,6 +48,12 @@ /* Define if compiler accepts -ftree-loop-distribute-patterns. */ #undef HAVE_CC_INHIBIT_LOOP_TO_LIBCALL +/* The level of stack protection in use for glibc as a whole. + May be overridden on a file-by-file basis. */ +#ifndef STACK_PROTECTOR_LEVEL +#undef STACK_PROTECTOR_LEVEL +#endif + /* Define if the regparm attribute shall be used for local functions (gcc on ix86 only). */ #undef USE_REGPARMS |