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
This commit is contained in:
Rainer Orth 2015-01-22 20:45:59 +00:00 committed by Jakub Jelinek
parent 19ac475f49
commit 33eaef4bf7
3 changed files with 17 additions and 3 deletions

View File

@ -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>

View File

@ -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

View File

@ -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