[compiler-rt] 69c777b - Revert "[compiler-rt][sanitizer-common] adding C23 memset_explicit interception." (#157317)

via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 6 14:57:49 PDT 2025


Author: Thurston Dang
Date: 2025-09-06T14:57:45-07:00
New Revision: 69c777bf3db06579f50dedb557a009e4b7ef79b9

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

LOG: Revert "[compiler-rt][sanitizer-common] adding C23 memset_explicit interception." (#157317)

Reverts llvm/llvm-project#154428 due to buildbot breakages (e.g.,
https://lab.llvm.org/buildbot/#/builders/51/builds/22984)

Added: 
    

Modified: 
    compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
    compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h

Removed: 
    compiler-rt/test/sanitizer_common/TestCases/Linux/memset_explicit.c


################################################################################
diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
index 5334b0ded17e8..0b6731c89950b 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
@@ -233,16 +233,6 @@ INTERCEPTOR(void *, bzero, void *block, usize size) {
 #define INIT_BZERO
 #endif  // SANITIZER_INTERCEPT_BZERO
 
-#if SANITIZER_INTERCEPT_MEMSET_EXPLICIT
-INTERCEPTOR(void *, memset_explicit, void *block, int c, usize size) {
-  void *ctx;
-  COMMON_INTERCEPTOR_MEMSET_IMPL(ctx, block, c, size);
-}
-#define INIT_MEMSET_EXPLICIT COMMON_INTERCEPT_FUNCTION(memset_explicit)
-#else
-#define INIT_MEMSET_EXPLICIT
-#endif
-
 namespace __sanitizer {
 // This does not need to be called if InitializeCommonInterceptors() is called.
 void InitializeMemintrinsicInterceptors() {
@@ -252,6 +242,5 @@ void InitializeMemintrinsicInterceptors() {
   INIT_AEABI_MEM;
   INIT___BZERO;
   INIT_BZERO;
-  INIT_MEMSET_EXPLICIT;
 }
 }  // namespace __sanitizer

diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
index eee7af2069694..29987decdff45 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
@@ -663,17 +663,15 @@ SANITIZER_WEAK_IMPORT void *aligned_alloc(__sanitizer::usize __alignment,
 #define SANITIZER_INTERCEPT_GETSERVBYNAME_R SI_GLIBC
 #define SANITIZER_INTERCEPT_GETSERVBYPORT_R SI_GLIBC
 
-// Until free_sized, free_aligned_sized and memset_explicit are more generally available,
+// Until free_sized and free_aligned_sized are more generally available,
 // we can only unconditionally intercept on ELF-based platforms where it
 // is okay to have undefined weak symbols.
 #ifdef __ELF__
 #  define SANITIZER_INTERCEPT_FREE_SIZED 1
 #  define SANITIZER_INTERCEPT_FREE_ALIGNED_SIZED 1
-#  define SANITIZER_INTERCEPT_MEMSET_EXPLICIT 1
 #else
 #  define SANITIZER_INTERCEPT_FREE_SIZED 0
 #  define SANITIZER_INTERCEPT_FREE_ALIGNED_SIZED 0
-#  define SANITIZER_INTERCEPT_MEMSET_EXPLICIT 0
 #endif
 
 // This macro gives a way for downstream users to override the above

diff  --git a/compiler-rt/test/sanitizer_common/TestCases/Linux/memset_explicit.c b/compiler-rt/test/sanitizer_common/TestCases/Linux/memset_explicit.c
deleted file mode 100644
index 4714ea51f25de..0000000000000
--- a/compiler-rt/test/sanitizer_common/TestCases/Linux/memset_explicit.c
+++ /dev/null
@@ -1,13 +0,0 @@
-// RUN: %clang -std=c23 -O0 %s -o %t && %run %t
-// UNSUPPORTED: asan, lsan, hwasan, ubsan
-
-#include <stddef.h>
-#include <stdlib.h>
-
-extern void *memset_explicit(void *p, int value, size_t size);
-
-int main() {
-  char secbuffer[64];
-  (void)memset_explicit(secbuffer, 0, sizeof(secbuffer));
-  return 0;
-}


        


More information about the llvm-commits mailing list