[compiler-rt] 0f73e89 - [NFC][CFI] Fix test from #137245 (#137420)

via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 25 16:47:03 PDT 2025


Author: Vitaly Buka
Date: 2025-04-25T16:47:00-07:00
New Revision: 0f73e89db798a96d3b5ad888e3e208c70eaf59a1

URL: https://github.com/llvm/llvm-project/commit/0f73e89db798a96d3b5ad888e3e208c70eaf59a1
DIFF: https://github.com/llvm/llvm-project/commit/0f73e89db798a96d3b5ad888e3e208c70eaf59a1.diff

LOG: [NFC][CFI] Fix test from #137245 (#137420)

Check if arch supports CFI.

For #137245

Added: 
    

Modified: 
    compiler-rt/test/ubsan_minimal/CMakeLists.txt
    compiler-rt/test/ubsan_minimal/TestCases/icall.c
    compiler-rt/test/ubsan_minimal/lit.common.cfg.py
    compiler-rt/test/ubsan_minimal/lit.site.cfg.py.in

Removed: 
    


################################################################################
diff  --git a/compiler-rt/test/ubsan_minimal/CMakeLists.txt b/compiler-rt/test/ubsan_minimal/CMakeLists.txt
index dea0b4f2c07f4..819428c6e80d9 100644
--- a/compiler-rt/test/ubsan_minimal/CMakeLists.txt
+++ b/compiler-rt/test/ubsan_minimal/CMakeLists.txt
@@ -13,6 +13,8 @@ foreach(arch ${UBSAN_TEST_ARCH})
   string(TOLOWER "-${arch}-${OS_NAME}" UBSAN_TEST_CONFIG_SUFFIX)
   get_test_cc_for_arch(${arch} UBSAN_TEST_TARGET_CC UBSAN_TEST_TARGET_CFLAGS)
   set(CONFIG_NAME ${arch})
+  set(UBSAN_TEST_HAS_CFI ${arch} IN_LIST CFI_SUPPORTED_ARCH)
+  pythonize_bool(UBSAN_TEST_HAS_CFI)
   configure_lit_site_cfg(
     ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
     ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py)

diff  --git a/compiler-rt/test/ubsan_minimal/TestCases/icall.c b/compiler-rt/test/ubsan_minimal/TestCases/icall.c
index 25ef3180bf4bd..6948057663a20 100644
--- a/compiler-rt/test/ubsan_minimal/TestCases/icall.c
+++ b/compiler-rt/test/ubsan_minimal/TestCases/icall.c
@@ -1,7 +1,7 @@
 // RUN: %clang -fsanitize=cfi-icall -fno-sanitize-trap=cfi-icall                              -fuse-ld=lld -flto -fvisibility=hidden %s -o %t && not --crash %run %t 2>&1 | FileCheck %s
 // RUN: %clang -fsanitize=cfi-icall -fno-sanitize-trap=cfi-icall -fsanitize-recover=cfi-icall -fuse-ld=lld -flto -fvisibility=hidden %s -o %t &&             %run %t 2>&1 | FileCheck %s
 
-// REQUIRES: lld-available
+// REQUIRES: lld-available, cfi
 
 void f() {}
 

diff  --git a/compiler-rt/test/ubsan_minimal/lit.common.cfg.py b/compiler-rt/test/ubsan_minimal/lit.common.cfg.py
index 115bd244b1dd8..714241a580f9d 100644
--- a/compiler-rt/test/ubsan_minimal/lit.common.cfg.py
+++ b/compiler-rt/test/ubsan_minimal/lit.common.cfg.py
@@ -45,6 +45,9 @@ def build_invocation(compile_flags):
 ]:  # TODO: Windows
     config.unsupported = True
 
+if config.test_cfi:
+    config.available_features.add("cfi")
+
 # Don't target x86_64h if the test machine can't execute x86_64h binaries.
 if "-arch x86_64h" in target_cflags and "x86_64h" not in config.available_features:
     config.unsupported = True

diff  --git a/compiler-rt/test/ubsan_minimal/lit.site.cfg.py.in b/compiler-rt/test/ubsan_minimal/lit.site.cfg.py.in
index 83a28246d75af..457ddff867b84 100644
--- a/compiler-rt/test/ubsan_minimal/lit.site.cfg.py.in
+++ b/compiler-rt/test/ubsan_minimal/lit.site.cfg.py.in
@@ -5,6 +5,7 @@ config.name_suffix = "@UBSAN_TEST_CONFIG_SUFFIX@"
 # Tool-specific config options.
 config.target_cflags = "@UBSAN_TEST_TARGET_CFLAGS@"
 config.target_arch = "@UBSAN_TEST_TARGET_ARCH@"
+config.test_cfi = "@UBSAN_TEST_HAS_CFI_PYBOOL@"
 
 # Load common config for all compiler-rt lit tests.
 lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured")


        


More information about the llvm-commits mailing list