[libc-commits] [libc] 2276491 - [libc] try fixing LlvmLibcStackChkFail.Smash a third time (#75988)
via libc-commits
libc-commits at lists.llvm.org
Tue Dec 19 16:23:32 PST 2023
Author: Nick Desaulniers
Date: 2023-12-19T16:23:29-08:00
New Revision: 22764918b5c1496970ab6bb1547535c554a06347
URL: https://github.com/llvm/llvm-project/commit/22764918b5c1496970ab6bb1547535c554a06347
DIFF: https://github.com/llvm/llvm-project/commit/22764918b5c1496970ab6bb1547535c554a06347.diff
LOG: [libc] try fixing LlvmLibcStackChkFail.Smash a third time (#75988)
Build bots are failing in post submit. Unclear why but can't reproduce
locally.
Disable this test for asan for now.
Added:
Modified:
libc/test/src/compiler/CMakeLists.txt
libc/test/src/compiler/stack_chk_guard_test.cpp
Removed:
################################################################################
diff --git a/libc/test/src/compiler/CMakeLists.txt b/libc/test/src/compiler/CMakeLists.txt
index b8d682c1c519a5..65a9acceb6f7f1 100644
--- a/libc/test/src/compiler/CMakeLists.txt
+++ b/libc/test/src/compiler/CMakeLists.txt
@@ -7,6 +7,7 @@ add_libc_unittest(
SRCS
stack_chk_guard_test.cpp
DEPENDS
+ libc.src.__support.macros.sanitizer
libc.src.compiler.__stack_chk_fail
libc.src.string.memset
COMPILE_OPTIONS
diff --git a/libc/test/src/compiler/stack_chk_guard_test.cpp b/libc/test/src/compiler/stack_chk_guard_test.cpp
index 18bdc8f2a6e2ed..427e20c2ac5046 100644
--- a/libc/test/src/compiler/stack_chk_guard_test.cpp
+++ b/libc/test/src/compiler/stack_chk_guard_test.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "llvm-libc-macros/signal-macros.h"
+#include "src/__support/macros/sanitizer.h"
#include "src/compiler/__stack_chk_fail.h"
#include "src/string/memset.h"
#include "test/UnitTest/Test.h"
@@ -15,13 +16,15 @@ TEST(LlvmLibcStackChkFail, Death) {
EXPECT_DEATH([] { __stack_chk_fail(); }, WITH_SIGNAL(SIGABRT));
}
-// Disable asan so that it doesn't immediately fail after the memset, but before
-// the stack canary is re-checked.
-[[gnu::no_sanitize_address]] static void smash_stack() {
- int arr[20];
- LIBC_NAMESPACE::memset(arr, 0xAA, 2001);
-}
-
+// Disable the test when asan is enabled so that it doesn't immediately fail
+// after the memset, but before the stack canary is re-checked.
+#ifndef LIBC_HAVE_ADDRESS_SANITIZER
TEST(LlvmLibcStackChkFail, Smash) {
- EXPECT_DEATH(smash_stack, WITH_SIGNAL(SIGABRT));
+ EXPECT_DEATH(
+ [] {
+ int arr[20];
+ LIBC_NAMESPACE::memset(arr, 0xAA, 2001);
+ },
+ WITH_SIGNAL(SIGABRT));
}
+#endif // LIBC_HAVE_ADDRESS_SANITIZER
More information about the libc-commits
mailing list