[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