aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/freebsd.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2012-02-07 16:16:45 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2012-02-07 16:16:45 +0100
commitdeb3f362b31c49f77ca8be8540d1c7e46e54ea40 (patch)
tree57e722b9a3c6adaba87c5304fcd569e570c17e58 /gcc/config/freebsd.h
parent9c9e39dddac5a32e9b7c079523ecc69d30553010 (diff)
downloadgcc-deb3f362b31c49f77ca8be8540d1c7e46e54ea40.zip
gcc-deb3f362b31c49f77ca8be8540d1c7e46e54ea40.tar.gz
gcc-deb3f362b31c49f77ca8be8540d1c7e46e54ea40.tar.bz2
freebsd-spec.h: Add comment about what macros can be defined in this header.
* config/freebsd-spec.h: Add comment about what macros can be defined in this header. (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here. * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But here instead. From-SVN: r183970
Diffstat (limited to 'gcc/config/freebsd.h')
-rw-r--r--gcc/config/freebsd.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/config/freebsd.h b/gcc/config/freebsd.h
index 51caad2..f9a4713 100644
--- a/gcc/config/freebsd.h
+++ b/gcc/config/freebsd.h
@@ -1,6 +1,6 @@
/* Base configuration file for all FreeBSD targets.
Copyright (C) 1999, 2000, 2001, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -45,6 +45,19 @@ along with GCC; see the file COPYING3. If not see
#undef LIB_SPEC
#define LIB_SPEC FBSD_LIB_SPEC
+#if defined(HAVE_LD_EH_FRAME_HDR)
+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
+#endif
+
+#ifdef TARGET_LIBC_PROVIDES_SSP
+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared}"
+#endif
+
+/* Use --as-needed -lgcc_s for eh support. */
+#ifdef HAVE_LD_AS_NEEDED
+#define USE_LD_AS_NEEDED 1
+#endif
+
/************************[ Target stuff ]***********************************/
/* All FreeBSD Architectures support the ELF object file format. */