[compiler-rt] [ASan][test] XFAIL stack overflow tests on Linux/sparc64 (PR #109773)

Rainer Orth via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 24 02:25:54 PDT 2024


https://github.com/rorth created https://github.com/llvm/llvm-project/pull/109773

When enabling ASan SPARC testing as per PR #107405, 3 stack overflow tests `FAIL` on Linux/sparc64:
```
  AddressSanitizer-sparc-linux :: TestCases/Linux/stack-overflow-recovery-mode.cpp
  AddressSanitizer-sparc-linux :: TestCases/Linux/stack-overflow-sigbus.cpp
  AddressSanitizer-sparc-linux :: TestCases/Posix/stack-overflow.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/stack-overflow-recovery-mode.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/stack-overflow-sigbus.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Posix/stack-overflow.cpp
```
However, as detailed in Issue #109771, even a Linux equivalent of the Solaris/sparcv9 fix (PR #109101) doesn't improve the situation.

Therefore this patch `XFAIL`s the tests until the root cause can be figured out.

Tested on `sparc64-unknown-linux-gnu`, `sparcv9-sun-solaris2.11`, and `x86_64-pc-linux-gnu`.

>From cedc3179572c28f62499a2085a9d9fd315be8f04 Mon Sep 17 00:00:00 2001
From: Rainer Orth <ro at gcc.gnu.org>
Date: Tue, 24 Sep 2024 11:24:05 +0200
Subject: [PATCH] [ASan][test] XFAIL stack overflow tests on Linux/sparc64

When enabling ASan SPARC testing as per PR #107405, 3 stack overflow tests
`FAIL` on Linux/sparc64:
```
  AddressSanitizer-sparc-linux :: TestCases/Linux/stack-overflow-recovery-mode.cpp
  AddressSanitizer-sparc-linux :: TestCases/Linux/stack-overflow-sigbus.cpp
  AddressSanitizer-sparc-linux :: TestCases/Posix/stack-overflow.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/stack-overflow-recovery-mode.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Linux/stack-overflow-sigbus.cpp
  AddressSanitizer-sparc-linux-dynamic :: TestCases/Posix/stack-overflow.cpp
```
However, as detailed in Issue #109771, even a Linux equivalent of the
Solaris/sparcv9 fix (PR #109101) doesn't improve the situation.

Therefore this patch `XFAIL`s the tests until the root cause can be figured
out.

Tested on `sparc64-unknown-linux-gnu`, `sparcv9-sun-solaris2.11`, and
`x86_64-pc-linux-gnu`.
---
 .../test/asan/TestCases/Linux/stack-overflow-recovery-mode.cpp | 3 +++
 .../test/asan/TestCases/Linux/stack-overflow-sigbus.cpp        | 3 +++
 compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp       | 3 +++
 3 files changed, 9 insertions(+)

diff --git a/compiler-rt/test/asan/TestCases/Linux/stack-overflow-recovery-mode.cpp b/compiler-rt/test/asan/TestCases/Linux/stack-overflow-recovery-mode.cpp
index e99665953784ab..461702a0ea7a96 100644
--- a/compiler-rt/test/asan/TestCases/Linux/stack-overflow-recovery-mode.cpp
+++ b/compiler-rt/test/asan/TestCases/Linux/stack-overflow-recovery-mode.cpp
@@ -3,6 +3,9 @@
 // RUN: %clang_asan -O0 -fsanitize-recover=address %s -o %t
 // RUN: %env_asan_opts=halt_on_error=false not %run %t 2>&1 | FileCheck %s
 
+// Issue #109771
+// XFAIL: target={{sparc.*-.*-linux.*}}
+
 #include <assert.h>
 #include <unistd.h>
 #include <sys/mman.h>
diff --git a/compiler-rt/test/asan/TestCases/Linux/stack-overflow-sigbus.cpp b/compiler-rt/test/asan/TestCases/Linux/stack-overflow-sigbus.cpp
index 8c9599c9f61108..f6c95318238af4 100644
--- a/compiler-rt/test/asan/TestCases/Linux/stack-overflow-sigbus.cpp
+++ b/compiler-rt/test/asan/TestCases/Linux/stack-overflow-sigbus.cpp
@@ -2,6 +2,9 @@
 
 // RUN: %clangxx_asan -O0 %s -o %t && %env_asan_opts=use_sigaltstack=1 not %run %t 2>&1 | FileCheck %s
 
+// Issue #109771
+// XFAIL: target={{sparc.*-.*-linux.*}}
+
 #include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp b/compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
index 06057250f87599..3d95a4ba273db5 100644
--- a/compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
+++ b/compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
@@ -16,6 +16,9 @@
 // RUN: not %run %t 2>&1 | FileCheck %s
 // REQUIRES: stable-runtime
 
+// Issue #109771
+// XFAIL: target={{sparc.*-.*-linux.*}}
+
 // UNSUPPORTED: ios
 
 #include <assert.h>



More information about the llvm-commits mailing list