When using the -fsanitize=address CXX_FLAG for a program compiled for
aarch64 / arm64
This is happing:
MemorySanitizer: CHECK failed: sanitizer_allocator_primary64.h:133 "((kSpaceBeg))
== ((address_range.Init(TotalSpaceSize, PrimaryAllocatorName, kSpaceBeg)))"
(0xe00000000000, 0xfffffffffffffff4) (tid=51745)
With -DSANITIZER_CAN_USE_ALLOCATOR64=0 this is not happening and
potenial bugs are detected.
ARM32 does not require this patch.
More info about the issue in this thread:
https://github.com/llvm/llvm-project/issues/65144
Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
--with-build-sysroot=${STAGING_DIR_TARGET} \
"
+# Workaround for this issue: https://github.com/llvm/llvm-project/issues/65144 on aarch64
+# compiler-rt/sanitizers/aarch64: CHECK failed: sanitizer_allocator_primary64.h:133
+CXXFLAGS:append:aarch64 = " -DSANITIZER_CAN_USE_ALLOCATOR64=0"
+
do_configure () {
rm -rf ${B}/${TARGET_SYS}/libsanitizer/
mkdir -p ${B}/${TARGET_SYS}/libsanitizer/