From 33b6ce99b54917a910b59dbd643fd223fbba834c Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Tue, 28 Nov 2023 14:55:52 +0100 Subject: [PATCH] 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. --- libsanitizer/sanitizer_common/sanitizer_redefine_builtins.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libsanitizer/sanitizer_common/sanitizer_redefine_builtins.h b/libsanitizer/sanitizer_common/sanitizer_redefine_builtins.h index d24b179ef32..eba8e0fa0cc 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