Add STATIC_LIBASAN_LIBS for -static-libasan
authorH.J. Lu <hongjiu.lu@intel.com>
Thu, 22 Nov 2012 14:10:47 +0000 (14:10 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Thu, 22 Nov 2012 14:10:47 +0000 (06:10 -0800)
* gcc.c (ADD_STATIC_LIBASAN_LIBS): New macro.  Defined
with STATIC_LIBASAN_LIBS.
(LIBASAN_SPEC): Add STATIC_LIBASAN_LIBS.
* config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.

From-SVN: r193725

gcc/ChangeLog
gcc/config/gnu-user.h
gcc/gcc.c

index fabcb5dfbb43fdc28348566078c827ebb451ab89..1e9769195730124bd9eba823d7dc275759010781 100644 (file)
@@ -1,3 +1,10 @@
+2012-11-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gcc.c (ADD_STATIC_LIBASAN_LIBS): New macro.  Defined
+       with STATIC_LIBASAN_LIBS.
+       (LIBASAN_SPEC): Add STATIC_LIBASAN_LIBS.
+       * config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.
+
 2012-11-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/arm/arm.md (*arm_abssi2): Define predicable attribute.
index cb457490e7a6c0fe2416687bfea80e555feeab6c..8c4bbc6bb62a32e867aca37f0b992a34fc287a96 100644 (file)
@@ -98,3 +98,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #define TARGET_C99_FUNCTIONS 1
 #define TARGET_HAS_SINCOS 1
+
+/* Additional libraries needed by -static-libasan.  */
+#undef STATIC_LIBASAN_LIBS
+#define STATIC_LIBASAN_LIBS "-ldl -lpthread"
index 0f8bcea81ded3be50c68985b249dc0e75a54a2ff..764ee1bf36fd11ca0833fb36a78061b66665733e 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -545,11 +545,18 @@ proper position among the other output files.  */
 #define STACK_SPLIT_SPEC " %{fsplit-stack: --wrap=pthread_create}"
 
 #ifndef LIBASAN_SPEC
+#ifdef STATIC_LIBASAN_LIBS
+#define ADD_STATIC_LIBASAN_LIBS \
+  " %{static-libasan:" STATIC_LIBASAN_LIBS "}"
+#else
+#define ADD_STATIC_LIBASAN_LIBS
+#endif
 #ifdef HAVE_LD_STATIC_DYNAMIC
 #define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION \
-                    "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}"
+                    "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+                    ADD_STATIC_LIBASAN_LIBS
 #else
-#define LIBASAN_SPEC "-lasan"
+#define LIBASAN_SPEC "-lasan" ADD_STATIC_LIBASAN_LIBS
 #endif
 #endif