From: Rainer Orth Date: Tue, 28 Nov 2023 13:55:52 +0000 (+0100) Subject: libsanitizer: Only use assembler symbol assignment if supported [PR112563] X-Git-Tag: basepoints/gcc-15~4211 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=33b6ce99b54917a910b59dbd643fd223fbba834c;p=thirdparty%2Fgcc.git libsanitizer: Only use assembler symbol assignment if supported [PR112563] This patch only enables symbol assignment if the configure test determined it's supported. Bootstrapped without regressions on sparc-sun-solaris2.11 (as and gas) and i386-pc-solaris2.11 (as and gas). 2023-11-23 Rainer Orth libsanitizer: PR sanitizer/112563 * sanitizer_common/sanitizer_redefine_builtins.h: Check HAVE_AS_SYM_ASSIGN. --- diff --git a/libsanitizer/sanitizer_common/sanitizer_redefine_builtins.h b/libsanitizer/sanitizer_common/sanitizer_redefine_builtins.h index d24b179ef320..eba8e0fa0cc1 100644 --- a/libsanitizer/sanitizer_common/sanitizer_redefine_builtins.h +++ b/libsanitizer/sanitizer_common/sanitizer_redefine_builtins.h @@ -15,7 +15,7 @@ # define SANITIZER_REDEFINE_BUILTINS_H // The asm hack only works with GCC and Clang. -# if !defined(_WIN32) +# if !defined(_WIN32) && defined(HAVE_AS_SYM_ASSIGN) asm("memcpy = __sanitizer_internal_memcpy"); asm("memmove = __sanitizer_internal_memmove"); @@ -50,7 +50,7 @@ using vector = Define_SANITIZER_COMMON_NO_REDEFINE_BUILTINS_in_cpp_file; } // namespace std # endif // __cpluplus -# endif // !_WIN32 +# endif // !_WIN32 && HAVE_AS_SYM_ASSIGN # endif // SANITIZER_REDEFINE_BUILTINS_H #endif // SANITIZER_COMMON_NO_REDEFINE_BUILTINS