* 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
+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>
#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
#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