From ad413752ed36e5b8761e5b4c92782d383dd179c1 Mon Sep 17 00:00:00 2001 From: Vrukesh V Panse Date: Tue, 16 Dec 2025 12:48:42 +0000 Subject: [PATCH 1/5] [ATfL]: Update sanitizer tests for failures --- arm-software/linux/scripts/build_atfl_sanitizer.sh | 8 ++++---- arm-software/linux/scripts/test_atfl_sanitizer.sh | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/arm-software/linux/scripts/build_atfl_sanitizer.sh b/arm-software/linux/scripts/build_atfl_sanitizer.sh index b8936c32392d..bb022f7abbef 100755 --- a/arm-software/linux/scripts/build_atfl_sanitizer.sh +++ b/arm-software/linux/scripts/build_atfl_sanitizer.sh @@ -59,8 +59,8 @@ cd "${REPO_ROOT}"/build_clang_with_sanitizer export LD_LIBRARY_PATH="${REPO_ROOT}"/build_libcxx/lib:$LD_LIBRARY_PATH -# Flag to disable LeakSanitizer (memory leaks detection) in AddressSanitizer. -export ASAN_OPTIONS=detect_leaks=0 +# Flag to disable LeakSanitizer (memory leaks detection) in AddressSanitizer. Also disable ASan log sharding +export ASAN_OPTIONS="detect_leaks=0:log_exe_name=false" # Have chosen Address Sanitizer and Undefined Sanitizer to build and test. # These sanitizers are most commonly used and relatively easy to set-up. @@ -75,8 +75,8 @@ cmake -G Ninja ../llvm \ -DCMAKE_C_COMPILER="${REPO_ROOT}/build_llvm/bin/clang" \ -DCMAKE_CXX_COMPILER="${REPO_ROOT}/build_llvm/bin/clang++" \ -DLLVM_LIT_ARGS="--ignore-fail --xunit-xml-output=lit_results.junit.xml \ - --param=env='ASAN_OPTIONS=detect_leaks=0' \ - --filter-out='(time\.zone|tzdb|time\.clock|orc|activation-options|quarantine_size|mmap_write_exec|assert\.cpp|asan_preload_test|thread_local_quarantine_size|leak|tzdb|assert\.cpp|use_globals|closed-fds)'" \ + --param=env='ASAN_OPTIONS=detect_leaks=0:log_exe_name=false' \ + --filter-out='(time\.zone|tzdb|time\.clock|orc|activation-options|quarantine_size|mmap_write_exec|assert\.cpp|asan_preload_test|thread_local_quarantine_size|leak|tzdb|assert\.cpp|use_globals|closed-fds|fdr-thread-order|initialization-nobug|suppressions-exec-relative-location|max_allocation_size)'" \ -DCMAKE_INSTALL_PREFIX=../stage3.install \ -DLLVM_TARGETS_TO_BUILD=AArch64 \ -DLLVM_ENABLE_PROJECTS="clang;llvm" \ diff --git a/arm-software/linux/scripts/test_atfl_sanitizer.sh b/arm-software/linux/scripts/test_atfl_sanitizer.sh index a33e4d163845..98d0e86af0b5 100755 --- a/arm-software/linux/scripts/test_atfl_sanitizer.sh +++ b/arm-software/linux/scripts/test_atfl_sanitizer.sh @@ -20,8 +20,8 @@ REPO_ROOT=$( git -C "${SCRIPT_DIR}" rev-parse --show-toplevel ) cd "${REPO_ROOT}"/build_clang_with_sanitizer || exit -# Flag to disable memory leaks detection of LeakSanitizer. -export ASAN_OPTIONS=detect_leaks=0 +# Flag to disable memory leaks detection of LeakSanitizer. Also, prevent ASan log sharding +export ASAN_OPTIONS="detect_leaks=0:log_exe_name=false" # If a test fails, lit will ordinarily return a non-zero result, # which prevents further testing. Setting the --ignore-fail option @@ -30,10 +30,11 @@ export ASAN_OPTIONS=detect_leaks=0 # Upstream clang and LLVM tests do not generate the junit xml results file by default. # Additionally setting the --xunit-xml-output option store the # results. -export LIT_ARGS="--ignore-fail --xunit-xml-output=lit_results.junit.xml --param=env='ASAN_OPTIONS=detect_leaks=0'" +export LIT_ARGS="--ignore-fail --xunit-xml-output=lit_results.junit.xml \ + --param=env='ASAN_OPTIONS=detect_leaks=0:log_exe_name=false'" # Skip the flaky tests -export LIT_ARGS="${LIT_ARGS} --filter-out 'time.zone|tzdb|time.clock|orc|activation-options|quarantine_size|mmap_write_exec|log-path_test|assert.cpp|initialization-nobug|use_globals|closed-fds'" +export LIT_ARGS="${LIT_ARGS} --filter-out 'time.zone|tzdb|time.clock|orc|activation-options|quarantine_size|mmap_write_exec|log-path_test|assert.cpp|use_globals|closed-fds|initialization-nobug|suppressions-exec-relative-location|fdr-thread-order|max_allocation_size'" ninja -v check-llvm echo "check-llvm exit code: $?" From 43c41f29a028929bb9e3a881e06e5a8f8c294a02 Mon Sep 17 00:00:00 2001 From: Vrukesh V Panse Date: Tue, 16 Dec 2025 16:32:25 +0000 Subject: [PATCH 2/5] [ATfL] Enable sanitizers for testing --- arm-software/linux/scripts/build_atfl_sanitizer.sh | 2 +- arm-software/linux/scripts/test_atfl_sanitizer.sh | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/arm-software/linux/scripts/build_atfl_sanitizer.sh b/arm-software/linux/scripts/build_atfl_sanitizer.sh index bb022f7abbef..225c5238f07e 100755 --- a/arm-software/linux/scripts/build_atfl_sanitizer.sh +++ b/arm-software/linux/scripts/build_atfl_sanitizer.sh @@ -76,7 +76,7 @@ cmake -G Ninja ../llvm \ -DCMAKE_CXX_COMPILER="${REPO_ROOT}/build_llvm/bin/clang++" \ -DLLVM_LIT_ARGS="--ignore-fail --xunit-xml-output=lit_results.junit.xml \ --param=env='ASAN_OPTIONS=detect_leaks=0:log_exe_name=false' \ - --filter-out='(time\.zone|tzdb|time\.clock|orc|activation-options|quarantine_size|mmap_write_exec|assert\.cpp|asan_preload_test|thread_local_quarantine_size|leak|tzdb|assert\.cpp|use_globals|closed-fds|fdr-thread-order|initialization-nobug|suppressions-exec-relative-location|max_allocation_size)'" \ + --filter-out='(time\.zone|tzdb|time\.clock|orc|activation-options|quarantine_size|asan_preload_test|thread_local_quarantine_size|leak|use_globals|closed-fds|fdr-thread-order|initialization-nobug|suppressions-exec-relative-location|max_allocation_size|reexec_unlimited_stack|Linux\.assert\.cpp|mmap_write_exec\.cpp)'" \ -DCMAKE_INSTALL_PREFIX=../stage3.install \ -DLLVM_TARGETS_TO_BUILD=AArch64 \ -DLLVM_ENABLE_PROJECTS="clang;llvm" \ diff --git a/arm-software/linux/scripts/test_atfl_sanitizer.sh b/arm-software/linux/scripts/test_atfl_sanitizer.sh index 98d0e86af0b5..9bb15296eb51 100755 --- a/arm-software/linux/scripts/test_atfl_sanitizer.sh +++ b/arm-software/linux/scripts/test_atfl_sanitizer.sh @@ -34,22 +34,22 @@ export LIT_ARGS="--ignore-fail --xunit-xml-output=lit_results.junit.xml \ --param=env='ASAN_OPTIONS=detect_leaks=0:log_exe_name=false'" # Skip the flaky tests -export LIT_ARGS="${LIT_ARGS} --filter-out 'time.zone|tzdb|time.clock|orc|activation-options|quarantine_size|mmap_write_exec|log-path_test|assert.cpp|use_globals|closed-fds|initialization-nobug|suppressions-exec-relative-location|fdr-thread-order|max_allocation_size'" +export LIT_ARGS="${LIT_ARGS} --filter-out 'time\.zone|tzdb|time\.clock|orc|activation-options|quarantine_size|log-path_test|use_globals|closed-fds|initialization-nobug|suppressions-exec-relative-location|reexec_unlimited_stack|Linux\.assert\.cpp|mmap_write_exec\.cpp'" -ninja -v check-llvm +ninja -v check-llvm LIT_ARGS="${LIT_ARGS}" echo "check-llvm exit code: $?" -ninja -v check-clang +ninja -v check-clang LIT_ARGS="${LIT_ARGS}" echo "check-clang exit code: $?" -ninja -v check-cxx +ninja -v check-cxx LIT_ARGS="${LIT_ARGS}" echo "check-cxx exit code: $?" -ninja -v check-cxxabi +ninja -v check-cxxabi LIT_ARGS="${LIT_ARGS}" echo "check-cxxabi exit code: $?" -ninja -v check-compiler-rt +ninja -v check-compiler-rt LIT_ARGS="${LIT_ARGS}" echo "check-compiler-rt exit code: $?" -ninja -v check-unwind +ninja -v check-unwind LIT_ARGS="${LIT_ARGS}" echo "check-unwind exit code: $?" From 2b2a2618985149a1c461dd3631eb27051aedc0f6 Mon Sep 17 00:00:00 2001 From: Vrukesh V Panse Date: Tue, 16 Dec 2025 17:13:58 +0000 Subject: [PATCH 3/5] [ATfL] Enable sanitizers for testing --- arm-software/linux/scripts/test_atfl_sanitizer.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arm-software/linux/scripts/test_atfl_sanitizer.sh b/arm-software/linux/scripts/test_atfl_sanitizer.sh index 9bb15296eb51..92a6afe26953 100755 --- a/arm-software/linux/scripts/test_atfl_sanitizer.sh +++ b/arm-software/linux/scripts/test_atfl_sanitizer.sh @@ -36,20 +36,20 @@ export LIT_ARGS="--ignore-fail --xunit-xml-output=lit_results.junit.xml \ # Skip the flaky tests export LIT_ARGS="${LIT_ARGS} --filter-out 'time\.zone|tzdb|time\.clock|orc|activation-options|quarantine_size|log-path_test|use_globals|closed-fds|initialization-nobug|suppressions-exec-relative-location|reexec_unlimited_stack|Linux\.assert\.cpp|mmap_write_exec\.cpp'" -ninja -v check-llvm LIT_ARGS="${LIT_ARGS}" +LIT_ARGS="${LIT_ARGS}" ninja -v check-llvm echo "check-llvm exit code: $?" -ninja -v check-clang LIT_ARGS="${LIT_ARGS}" +LIT_ARGS="${LIT_ARGS}" ninja -v check-clang echo "check-clang exit code: $?" -ninja -v check-cxx LIT_ARGS="${LIT_ARGS}" +LIT_ARGS="${LIT_ARGS}" ninja -v check-cxx echo "check-cxx exit code: $?" -ninja -v check-cxxabi LIT_ARGS="${LIT_ARGS}" +LIT_ARGS="${LIT_ARGS}" ninja -v check-cxxabi echo "check-cxxabi exit code: $?" -ninja -v check-compiler-rt LIT_ARGS="${LIT_ARGS}" +LIT_ARGS="${LIT_ARGS}" ninja -v check-compiler-rt echo "check-compiler-rt exit code: $?" -ninja -v check-unwind LIT_ARGS="${LIT_ARGS}" +LIT_ARGS="${LIT_ARGS}" ninja -v check-unwind echo "check-unwind exit code: $?" From e0767f1878dc201ac28ae1a3b2e719d967ce2c49 Mon Sep 17 00:00:00 2001 From: Vrukesh V Panse Date: Wed, 17 Dec 2025 12:48:14 +0000 Subject: [PATCH 4/5] [ATfL] Enable sanitizers for testing --- arm-software/linux/scripts/build_atfl_sanitizer.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/arm-software/linux/scripts/build_atfl_sanitizer.sh b/arm-software/linux/scripts/build_atfl_sanitizer.sh index 225c5238f07e..6885777c65eb 100755 --- a/arm-software/linux/scripts/build_atfl_sanitizer.sh +++ b/arm-software/linux/scripts/build_atfl_sanitizer.sh @@ -25,11 +25,10 @@ cd "${REPO_ROOT}"/build_llvm cmake -G Ninja ../llvm \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \ - -DLLVM_LIT_ARGS="-v" \ - -DCMAKE_INSTALL_PREFIX=../stage1.install \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ + -DLLVM_LIT_ARGS="-v" \ + -DCMAKE_INSTALL_PREFIX=../stage1.install \ -DLLVM_TARGETS_TO_BUILD=AArch64 \ -DLLVM_ENABLE_PROJECTS="clang;llvm" \ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compiler-rt" From 7a55a0815af3e0782c1ea59217807b16bd1fefa7 Mon Sep 17 00:00:00 2001 From: Vrukesh V Panse Date: Wed, 7 Jan 2026 07:36:25 +0000 Subject: [PATCH 5/5] [ATfL]: Update sanitizer tests for removing failures --- .../linux/scripts/build_atfl_sanitizer.sh | 12 +++++----- .../linux/scripts/test_atfl_sanitizer.sh | 23 ++++++++----------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/arm-software/linux/scripts/build_atfl_sanitizer.sh b/arm-software/linux/scripts/build_atfl_sanitizer.sh index 6885777c65eb..61f0215caba4 100755 --- a/arm-software/linux/scripts/build_atfl_sanitizer.sh +++ b/arm-software/linux/scripts/build_atfl_sanitizer.sh @@ -25,10 +25,11 @@ cd "${REPO_ROOT}"/build_llvm cmake -G Ninja ../llvm \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER=clang \ - -DCMAKE_CXX_COMPILER=clang++ \ + -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \ -DLLVM_LIT_ARGS="-v" \ -DCMAKE_INSTALL_PREFIX=../stage1.install \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ -DLLVM_TARGETS_TO_BUILD=AArch64 \ -DLLVM_ENABLE_PROJECTS="clang;llvm" \ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compiler-rt" @@ -58,8 +59,8 @@ cd "${REPO_ROOT}"/build_clang_with_sanitizer export LD_LIBRARY_PATH="${REPO_ROOT}"/build_libcxx/lib:$LD_LIBRARY_PATH -# Flag to disable LeakSanitizer (memory leaks detection) in AddressSanitizer. Also disable ASan log sharding -export ASAN_OPTIONS="detect_leaks=0:log_exe_name=false" +# Flag to disable LeakSanitizer (memory leaks detection) in AddressSanitizer. +export ASAN_OPTIONS=detect_leaks=0 # Have chosen Address Sanitizer and Undefined Sanitizer to build and test. # These sanitizers are most commonly used and relatively easy to set-up. @@ -74,8 +75,7 @@ cmake -G Ninja ../llvm \ -DCMAKE_C_COMPILER="${REPO_ROOT}/build_llvm/bin/clang" \ -DCMAKE_CXX_COMPILER="${REPO_ROOT}/build_llvm/bin/clang++" \ -DLLVM_LIT_ARGS="--ignore-fail --xunit-xml-output=lit_results.junit.xml \ - --param=env='ASAN_OPTIONS=detect_leaks=0:log_exe_name=false' \ - --filter-out='(time\.zone|tzdb|time\.clock|orc|activation-options|quarantine_size|asan_preload_test|thread_local_quarantine_size|leak|use_globals|closed-fds|fdr-thread-order|initialization-nobug|suppressions-exec-relative-location|max_allocation_size|reexec_unlimited_stack|Linux\.assert\.cpp|mmap_write_exec\.cpp)'" \ + --param=env='ASAN_OPTIONS=detect_leaks=0'" \ -DCMAKE_INSTALL_PREFIX=../stage3.install \ -DLLVM_TARGETS_TO_BUILD=AArch64 \ -DLLVM_ENABLE_PROJECTS="clang;llvm" \ diff --git a/arm-software/linux/scripts/test_atfl_sanitizer.sh b/arm-software/linux/scripts/test_atfl_sanitizer.sh index 92a6afe26953..9ea8754a8c17 100755 --- a/arm-software/linux/scripts/test_atfl_sanitizer.sh +++ b/arm-software/linux/scripts/test_atfl_sanitizer.sh @@ -20,8 +20,8 @@ REPO_ROOT=$( git -C "${SCRIPT_DIR}" rev-parse --show-toplevel ) cd "${REPO_ROOT}"/build_clang_with_sanitizer || exit -# Flag to disable memory leaks detection of LeakSanitizer. Also, prevent ASan log sharding -export ASAN_OPTIONS="detect_leaks=0:log_exe_name=false" +# Flag to disable memory leaks detection of LeakSanitizer. +export ASAN_OPTIONS=detect_leaks=0 # If a test fails, lit will ordinarily return a non-zero result, # which prevents further testing. Setting the --ignore-fail option @@ -30,26 +30,23 @@ export ASAN_OPTIONS="detect_leaks=0:log_exe_name=false" # Upstream clang and LLVM tests do not generate the junit xml results file by default. # Additionally setting the --xunit-xml-output option store the # results. -export LIT_ARGS="--ignore-fail --xunit-xml-output=lit_results.junit.xml \ - --param=env='ASAN_OPTIONS=detect_leaks=0:log_exe_name=false'" +export LIT_ARGS="--ignore-fail --xunit-xml-output=lit_results.junit.xml --param=env='ASAN_OPTIONS=detect_leaks=0'" -# Skip the flaky tests -export LIT_ARGS="${LIT_ARGS} --filter-out 'time\.zone|tzdb|time\.clock|orc|activation-options|quarantine_size|log-path_test|use_globals|closed-fds|initialization-nobug|suppressions-exec-relative-location|reexec_unlimited_stack|Linux\.assert\.cpp|mmap_write_exec\.cpp'" - -LIT_ARGS="${LIT_ARGS}" ninja -v check-llvm +ninja -v check-llvm echo "check-llvm exit code: $?" -LIT_ARGS="${LIT_ARGS}" ninja -v check-clang +ninja -v check-clang echo "check-clang exit code: $?" -LIT_ARGS="${LIT_ARGS}" ninja -v check-cxx +ninja -v check-cxx echo "check-cxx exit code: $?" -LIT_ARGS="${LIT_ARGS}" ninja -v check-cxxabi +ninja -v check-cxxabi echo "check-cxxabi exit code: $?" -LIT_ARGS="${LIT_ARGS}" ninja -v check-compiler-rt +# Skip the flaky tests +LIT_FILTER_OUT='(AddressSanitizer-aarch64-linux :: TestCases/(Linux/initialization-nobug-lld.cpp|Posix/closed-fds.cpp|initialization-nobug.cpp|suppressions-exec-relative-location.cpp)|AddressSanitizer-aarch64-linux-dynamic :: TestCases/(Linux/asan_preload_test-1.cpp|Linux/asan_preload_test-2.cpp|Linux/preinstalled_signal.cpp|Posix/closed-fds.cpp|initialization-nobug.cpp|suppressions-exec-relative-location.cpp)|HWAddressSanitizer-aarch64 :: TestCases/lto.c|Profile-aarch64 :: instrprof-gc-sections.c|SanitizerCommon-(asan|lsan)-aarch64-Linux :: max_allocation_size.cpp|UBSan-Minimal-aarch64-linux :: TestCases/icall.c)' ninja -v check-compiler-rt echo "check-compiler-rt exit code: $?" -LIT_ARGS="${LIT_ARGS}" ninja -v check-unwind +ninja -v check-unwind echo "check-unwind exit code: $?"