Skip to content

[libc] try fixing LlvmLibcStackChkFail.Smash a third time #75988

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 20, 2023

Conversation

nickdesaulniers
Copy link
Member

Build bots are failing in post submit. Unclear why but can't reproduce locally.
Disable this test for asan for now.

Build bots are failing in post submit. Unclear why but can't reproduce locally.
Disable this test for asan for now.
@llvmbot
Copy link
Member

llvmbot commented Dec 20, 2023

@llvm/pr-subscribers-libc

Author: Nick Desaulniers (nickdesaulniers)

Changes

Build bots are failing in post submit. Unclear why but can't reproduce locally.
Disable this test for asan for now.


Full diff: https://github.com/llvm/llvm-project/pull/75988.diff

1 Files Affected:

  • (modified) libc/test/src/compiler/stack_chk_guard_test.cpp (+11-8)
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

@nickdesaulniers nickdesaulniers changed the title y [libc] try fixing LlvmLibcStackChkFail.Smash a third time Dec 20, 2023
@nickdesaulniers nickdesaulniers merged commit 2276491 into llvm:main Dec 20, 2023
@nickdesaulniers nickdesaulniers deleted the asan_hack branch December 20, 2023 00:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants