aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2025-10-01 17:26:22 -0700
committerGitHub <noreply@github.com>2025-10-01 17:26:22 -0700
commit5f0f4972c46707d46145f713c20a442bef8379d8 (patch)
treede66c1b591106095efb65f523e119c6a1787b0b8 /utils
parented1d9548b5c08142dab82bcfdd9875177d8223a5 (diff)
downloadllvm-5f0f4972c46707d46145f713c20a442bef8379d8.tar.gz
llvm-5f0f4972c46707d46145f713c20a442bef8379d8.tar.bz2
llvm-5f0f4972c46707d46145f713c20a442bef8379d8.zip
[libc] Unify and extend no_sanitize attributes for strlen. (#161316)
Fast strlen implementations (naive wide-reads, SIMD-based, and x86_64/aarch64-optimized versions) all may perform technically-out-of-bound reads, which leads to reports under ASan, HWASan (on ARM machines), and also TSan (which also has the capability to detect heap out-of-bound reads). So, we need to explicitly disable instrumentation in all three cases. Tragically, Clang didn't support `[[gnu::no_sanitize]]` syntax until recently, and since we're supporting both GCC and Clang, we have to revert to `__attribute__` syntax.
Diffstat (limited to 'utils')
-rw-r--r--utils/bazel/llvm-project-overlay/libc/BUILD.bazel1
1 files changed, 1 insertions, 0 deletions
diff --git a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
index e57d9dea036d..026664bd019f 100644
--- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
@@ -5336,6 +5336,7 @@ libc_support_library(
":__support_common",
":__support_cpp_bitset",
":__support_cpp_type_traits",
+ ":__support_macros_attributes",
":__support_macros_optimization",
":hdr_limits_macros",
":llvm_libc_types_size_t",