[compiler-rt] c3d2544 - [sanitizer] Use sanitizer_redefine_builtins.h in symbolizer

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 14 14:24:58 PDT 2023


Author: Vitaly Buka
Date: 2023-08-14T14:24:04-07:00
New Revision: c3d254455f53eca0ffb59e42f64f9365a7413632

URL: https://github.com/llvm/llvm-project/commit/c3d254455f53eca0ffb59e42f64f9365a7413632
DIFF: https://github.com/llvm/llvm-project/commit/c3d254455f53eca0ffb59e42f64f9365a7413632.diff

LOG: [sanitizer] Use sanitizer_redefine_builtins.h in symbolizer

Added: 
    

Modified: 
    compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
    compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
    compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h b/compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
index d884ad5116800c..b8f6c5b62b70c4 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
@@ -21,7 +21,8 @@ asm("memcpy = __sanitizer_internal_memcpy");
 asm("memmove = __sanitizer_internal_memmove");
 asm("memset = __sanitizer_internal_memset");
 
-#      if defined(__cplusplus)
+#      if defined(__cplusplus) && \
+          !defined(SANITIZER_COMMON_REDEFINE_BUILTINS_IN_CXX)
 
 // The builtins should not be redefined in source files that make use of C++
 // standard libraries, in particular where C++STL headers with inline functions

diff  --git a/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh b/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
index a260f21d5291f9..7ec7c8ac87760c 100755
--- a/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
+++ b/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
@@ -78,6 +78,8 @@ if [[ "$FLAGS" =~ "-m32" ]] ; then
   FLAGS+=" -U_FILE_OFFSET_BITS"
 fi
 FLAGS+=" -fPIC -flto -Oz -g0 -DNDEBUG -target $TARGET_TRIPLE -Wno-unused-command-line-argument"
+FLAGS+=" -include ${SRC_DIR}/../sanitizer_redefine_builtins.h -DSANITIZER_COMMON_REDEFINE_BUILTINS_IN_CXX"
+
 LINKFLAGS="-fuse-ld=lld -target $TARGET_TRIPLE"
 
 # Build zlib.

diff  --git a/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt b/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
index 509e3f19fe3868..b602c90c78fd91 100644
--- a/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
+++ b/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
@@ -37,6 +37,9 @@ __isinf U
 __isoc99_sscanf U
 __isoc99_vsscanf U
 __moddi3 U
+__sanitizer_internal_memcpy U
+__sanitizer_internal_memmove U
+__sanitizer_internal_memset U
 __sanitizer_symbolize_code T
 __sanitizer_symbolize_data T
 __sanitizer_symbolize_demangle T


        


More information about the llvm-commits mailing list