diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2015-01-22 20:45:59 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-01-22 21:45:59 +0100 |
commit | 33eaef4bf7f7b0650236c6ce2f5512344b3acbbf (patch) | |
tree | 50656c1f5d0fdc2f836eb9a8352cb3ff241e1902 | |
parent | 19ac475f49151476e2570b737f3ba31896417e89 (diff) | |
download | gcc-33eaef4bf7f7b0650236c6ce2f5512344b3acbbf.zip gcc-33eaef4bf7f7b0650236c6ce2f5512344b3acbbf.tar.gz gcc-33eaef4bf7f7b0650236c6ce2f5512344b3acbbf.tar.bz2 |
gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit for !TARGET_LIBC_PROVIDES_SSP version and...
* gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
for !TARGET_LIBC_PROVIDES_SSP version and
-fstack-protector-{all,strong,explicit} otherwise.
* config/freebsd.h (LINK_SSP_SPEC): Handle
-fstack-protector-{strong,explicit}.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r220014
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/freebsd.h | 4 | ||||
-rw-r--r-- | gcc/gcc.c | 7 |
3 files changed, 17 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5a3ec54..c166933 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + Jakub Jelinek <jakub@redhat.com> + + * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit + for !TARGET_LIBC_PROVIDES_SSP version and + -fstack-protector-{all,strong,explicit} otherwise. + * config/freebsd.h (LINK_SSP_SPEC): Handle + -fstack-protector-{strong,explicit}. + 2015-01-22 Jan Hubicka <hubicka@ucw.cz> H.J. Lu <hongjiu.lu@intel.com> diff --git a/gcc/config/freebsd.h b/gcc/config/freebsd.h index 215451e..0e8e63e 100644 --- a/gcc/config/freebsd.h +++ b/gcc/config/freebsd.h @@ -49,7 +49,9 @@ along with GCC; see the file COPYING3. If not see #endif #ifdef TARGET_LIBC_PROVIDES_SSP -#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared}" +#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ + "|fstack-protector-strong|fstack-protector-explicit" \ + ":-lssp_nonshared}" #endif #undef TARGET_LIBC_HAS_FUNCTION @@ -728,9 +728,12 @@ proper position among the other output files. */ #ifndef LINK_SSP_SPEC #ifdef TARGET_LIBC_PROVIDES_SSP -#define LINK_SSP_SPEC "%{fstack-protector:}" +#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ + "|fstack-protector-strong|fstack-protector-explicit:}" #else -#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-strong|fstack-protector-all:-lssp_nonshared -lssp}" +#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ + "|fstack-protector-strong|fstack-protector-explicit" \ + ":-lssp_nonshared -lssp}" #endif #endif |