aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2019-04-02 07:40:30 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2019-04-02 07:40:30 +0000
commit381a3c757ffad4e6b7bcfab3b4be1b88856acad9 (patch)
treeeb24f426df67370979ca82107ea3526a28daefe2
parentb8b137fb522e093dd6ae49ebace7dc3f5ff8a8ae (diff)
downloadgcc-381a3c757ffad4e6b7bcfab3b4be1b88856acad9.zip
gcc-381a3c757ffad4e6b7bcfab3b4be1b88856acad9.tar.gz
gcc-381a3c757ffad4e6b7bcfab3b4be1b88856acad9.tar.bz2
linux64.h (ASAN_REJECT_SPEC): New macro.
* config/sparc/linux64.h (ASAN_REJECT_SPEC): New macro. (ASAN_CC1_SPEC): Use it in 64-bit mode. * config/sparc/sol2.h (ASAN_REJECT_SPEC): Remove superfluous colon. From-SVN: r270075
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sparc/linux64.h12
-rw-r--r--gcc/config/sparc/sol2.h2
3 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7b745c6..21fa284 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/linux64.h (ASAN_REJECT_SPEC): New macro.
+ (ASAN_CC1_SPEC): Use it in 64-bit mode.
+ * config/sparc/sol2.h (ASAN_REJECT_SPEC): Remove superfluous colon.
+
2019-04-01 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/85412
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
index bbf5bab..789d1df 100644
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -143,8 +143,18 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
#define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS
+/* -fsanitize=address is currently only supported for 32-bit. */
+#define ASAN_REJECT_SPEC \
+ "%{!%:sanitize(thread):%e-fsanitize=address is not supported in this configuration}"
+
#undef ASAN_CC1_SPEC
-#define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
+#if DEFAULT_ARCH32_P
+#define ASAN_CC1_SPEC \
+ "%{%:sanitize(address):-funwind-tables %{m64:" ASAN_REJECT_SPEC "}}"
+#else
+#define ASAN_CC1_SPEC \
+ "%{%:sanitize(address):-funwind-tables %{!m32:" ASAN_REJECT_SPEC "}}"
+#endif
#undef CC1_SPEC
#if DEFAULT_ARCH32_P
diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h
index c78661f..9340475 100644
--- a/gcc/config/sparc/sol2.h
+++ b/gcc/config/sparc/sol2.h
@@ -324,7 +324,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
/* -fsanitize=address is currently only supported for 32-bit. */
#define ASAN_REJECT_SPEC \
- DEF_ARCH64_SPEC("%e:-fsanitize=address is not supported in this configuration")
+ DEF_ARCH64_SPEC("%e-fsanitize=address is not supported in this configuration")
/* Register the Solaris-specific #pragma directives. */