diff options
| author | Alexey Samsonov <vonosmas@gmail.com> | 2025-10-01 17:26:22 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-01 17:26:22 -0700 |
| commit | 5f0f4972c46707d46145f713c20a442bef8379d8 (patch) | |
| tree | de66c1b591106095efb65f523e119c6a1787b0b8 /utils | |
| parent | ed1d9548b5c08142dab82bcfdd9875177d8223a5 (diff) | |
| download | llvm-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.bazel | 1 |
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", |
