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  <ro@CeBiTec.Uni-Bielefeld.DE>

	libsanitizer:
	PR sanitizer/112563
	* sanitizer_common/sanitizer_redefine_builtins.h: Check
	HAVE_AS_SYM_ASSIGN.
This commit is contained in:
Rainer Orth 2023-11-28 14:55:52 +01:00
parent 088d3cbc5f
commit 33b6ce99b5

View File

@ -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