diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7b745c61193..21fa2846be6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-04-02 Eric Botcazou + + * 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 PR rtl-optimization/85412 diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h index bbf5bab3b40..789d1df4bd5 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 c78661f2089..93404757054 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. */