[compiler-rt] [sanitizer_common][asan] Implement address sanitizer on AIX: interceptors (5/6) (PR #131870)

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Thu May 1 00:42:14 PDT 2025


================
@@ -56,73 +66,87 @@ void InitializePlatformInterceptors();
 # define ASAN_INTERCEPT_SWAPCONTEXT 0
 #endif
 
-#if !SANITIZER_WINDOWS
-# define ASAN_INTERCEPT_SIGLONGJMP 1
-#else
-# define ASAN_INTERCEPT_SIGLONGJMP 0
-#endif
-
-#if SANITIZER_GLIBC
-# define ASAN_INTERCEPT___LONGJMP_CHK 1
-#else
-# define ASAN_INTERCEPT___LONGJMP_CHK 0
-#endif
+#  if !SANITIZER_WINDOWS && !SANITIZER_AIX
+#    define ASAN_INTERCEPT_SIGLONGJMP 1
+#  else
+#    define ASAN_INTERCEPT_SIGLONGJMP 0
+#  endif
 
-#if ASAN_HAS_EXCEPTIONS && !SANITIZER_SOLARIS && !SANITIZER_NETBSD && \
-    (!SANITIZER_WINDOWS || (defined(__MINGW32__) && defined(__i386__)))
-# define ASAN_INTERCEPT___CXA_THROW 1
-# define ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION 1
-# if defined(_GLIBCXX_SJLJ_EXCEPTIONS) || (SANITIZER_IOS && defined(__arm__))
-#  define ASAN_INTERCEPT__UNWIND_SJLJ_RAISEEXCEPTION 1
-# else
-#  define ASAN_INTERCEPT__UNWIND_RAISEEXCEPTION 1
-# endif
-#else
-# define ASAN_INTERCEPT___CXA_THROW 0
-# define ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION 0
-# define ASAN_INTERCEPT__UNWIND_RAISEEXCEPTION 0
-# define ASAN_INTERCEPT__UNWIND_SJLJ_RAISEEXCEPTION 0
-#endif
+#  if SANITIZER_GLIBC
+#    define ASAN_INTERCEPT___LONGJMP_CHK 1
+#  else
+#    define ASAN_INTERCEPT___LONGJMP_CHK 0
+#  endif
+
+#  if ASAN_HAS_EXCEPTIONS && !SANITIZER_SOLARIS && !SANITIZER_NETBSD && \
+      (!SANITIZER_WINDOWS || (defined(__MINGW32__) && defined(__i386__)))
+#    define ASAN_INTERCEPT___CXA_THROW 1
+#    define ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION 1
+#    if defined(_GLIBCXX_SJLJ_EXCEPTIONS) || (SANITIZER_IOS && defined(__arm__))
+#      define ASAN_INTERCEPT__UNWIND_SJLJ_RAISEEXCEPTION 1
+#    else
+#      define ASAN_INTERCEPT__UNWIND_RAISEEXCEPTION 1
+#    endif
+#  else
+#    define ASAN_INTERCEPT___CXA_THROW 0
+#    define ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION 0
+#    define ASAN_INTERCEPT__UNWIND_RAISEEXCEPTION 0
+#    define ASAN_INTERCEPT__UNWIND_SJLJ_RAISEEXCEPTION 0
+#  endif
+
+#  if !SANITIZER_WINDOWS && !SANITIZER_AIX
+#    define ASAN_INTERCEPT___CXA_ATEXIT 1
+#  else
+#    define ASAN_INTERCEPT___CXA_ATEXIT 0
+#  endif
 
-#if !SANITIZER_WINDOWS
-# define ASAN_INTERCEPT___CXA_ATEXIT 1
-#else
-# define ASAN_INTERCEPT___CXA_ATEXIT 0
-#endif
+#  if SANITIZER_AIX
+#    define ASAN_INTERCEPT_EXIT 1
+#  else
+#    define ASAN_INTERCEPT_EXIT 0
+#  endif
 
-#if SANITIZER_NETBSD
-# define ASAN_INTERCEPT_ATEXIT 1
-#else
-# define ASAN_INTERCEPT_ATEXIT 0
-#endif
+#  if SANITIZER_NETBSD
+#    define ASAN_INTERCEPT_ATEXIT 1
+#  else
+#    define ASAN_INTERCEPT_ATEXIT 0
+#  endif
 
-#if SANITIZER_GLIBC
-# define ASAN_INTERCEPT___STRDUP 1
-#else
-# define ASAN_INTERCEPT___STRDUP 0
-#endif
+#  if SANITIZER_GLIBC
+#    define ASAN_INTERCEPT___STRDUP 1
+#  else
+#    define ASAN_INTERCEPT___STRDUP 0
+#  endif
 
-#if SANITIZER_GLIBC && ASAN_INTERCEPT_PTHREAD_CREATE
-# define ASAN_INTERCEPT_TIMEDJOIN 1
-# define ASAN_INTERCEPT_TRYJOIN 1
-#else
-# define ASAN_INTERCEPT_TIMEDJOIN 0
-# define ASAN_INTERCEPT_TRYJOIN 0
-#endif
+#  if SANITIZER_GLIBC && ASAN_INTERCEPT_PTHREAD_CREATE
+#    define ASAN_INTERCEPT_TIMEDJOIN 1
+#    define ASAN_INTERCEPT_TRYJOIN 1
+#  else
+#    define ASAN_INTERCEPT_TIMEDJOIN 0
+#    define ASAN_INTERCEPT_TRYJOIN 0
+#  endif
 
-#if SANITIZER_LINUX &&                                                \
-    (defined(__arm__) || defined(__aarch64__) || defined(__i386__) || \
-     defined(__x86_64__) || SANITIZER_RISCV64 || SANITIZER_LOONGARCH64)
-# define ASAN_INTERCEPT_VFORK 1
-#else
-# define ASAN_INTERCEPT_VFORK 0
-#endif
+#  if SANITIZER_AIX
+#    define SANITIZER_INTERCEPT_STRCAT 0
+#    define SANITIZER_INTERCEPT_STRCPY 0
----------------
vitalybuka wrote:

ASAN_

https://github.com/llvm/llvm-project/pull/131870


More information about the llvm-commits mailing list