<div dir="ltr">This has broken "check-asan" on my Windows bot which targets X86 only:<br class=""><span style="color:rgb(0,0,0);font-family:'Courier New',courier,monotype,monospace;font-size:medium;white-space:pre"><...>projects/compiler-rt/lib/asan/tests/asan_asm_test.cc
error: unknown target CPU 'armv7-a'</span><div>you should probably add "REQUIRES"?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-29 23:01 GMT+04:00 Greg Fitzgerald <span dir="ltr"><<a href="mailto:gregf@codeaurora.org" target="_blank">gregf@codeaurora.org</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: garious<br>
Date: Thu May 29 14:01:32 2014<br>
New Revision: 209835<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=209835&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=209835&view=rev</a><br>
Log:<br>
light up sanitizers for ARM<br>
<br>
You can expect the sanitizers to be built under any of the following conditions:<br>
<br>
1) CMAKE_C_COMPILER is GCC built to cross-compile to ARM<br>
2) CMAKE_C_COMPILER is Clang built to cross-compile to ARM (ARM is default target)<br>
3) CMAKE_C_COMPILER is Clang and CMAKE_C_FLAGS contains -target and --sysroot<br>
<br>
Differential Revision: <a href="http://reviews.llvm.org/D3794" target="_blank">http://reviews.llvm.org/D3794</a><br>
<br>
Modified:<br>
compiler-rt/trunk/CMakeLists.txt<br>
compiler-rt/trunk/lib/lsan/CMakeLists.txt<br>
compiler-rt/trunk/test/asan/CMakeLists.txt<br>
compiler-rt/trunk/test/ubsan/CMakeLists.txt<br>
<br>
Modified: compiler-rt/trunk/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/CMakeLists.txt?rev=209835&r1=209834&r2=209835&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/CMakeLists.txt?rev=209835&r1=209834&r2=209835&view=diff</a><br>
==============================================================================<br>
--- compiler-rt/trunk/CMakeLists.txt (original)<br>
+++ compiler-rt/trunk/CMakeLists.txt Thu May 29 14:01:32 2014<br>
@@ -215,9 +215,9 @@ else()<br>
test_target_arch(i386 ${TARGET_32_BIT_CFLAGS})<br>
elseif("${LLVM_NATIVE_ARCH}" STREQUAL "PowerPC")<br>
test_target_arch(powerpc64 ${TARGET_64_BIT_CFLAGS})<br>
- elseif("${LLVM_NATIVE_ARCH}" STREQUAL "ARM")<br>
- test_target_arch(arm "")<br>
endif()<br>
+ test_target_arch(arm "-march=armv7-a")<br>
+ test_target_arch(aarch64 "-march=armv8-a")<br>
endif()<br>
<br>
# We support running instrumented tests when we're not cross compiling<br>
@@ -347,14 +347,14 @@ endif()<br>
# Architectures supported by Sanitizer runtimes. Specific sanitizers may<br>
# support only subset of these (e.g. TSan works on x86_64 only).<br>
filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH<br>
- x86_64 i386 powerpc64 arm)<br>
-filter_available_targets(ASAN_SUPPORTED_ARCH x86_64 i386 powerpc64)<br>
+ x86_64 i386 powerpc64 arm aarch64)<br>
+filter_available_targets(ASAN_SUPPORTED_ARCH x86_64 i386 powerpc64 arm)<br>
filter_available_targets(DFSAN_SUPPORTED_ARCH x86_64)<br>
filter_available_targets(LSAN_SUPPORTED_ARCH x86_64)<br>
filter_available_targets(MSAN_SUPPORTED_ARCH x86_64)<br>
-filter_available_targets(PROFILE_SUPPORTED_ARCH x86_64 i386 arm)<br>
+filter_available_targets(PROFILE_SUPPORTED_ARCH x86_64 i386 arm aarch64)<br>
filter_available_targets(TSAN_SUPPORTED_ARCH x86_64)<br>
-filter_available_targets(UBSAN_SUPPORTED_ARCH x86_64 i386)<br>
+filter_available_targets(UBSAN_SUPPORTED_ARCH x86_64 i386 arm aarch64)<br>
<br>
add_subdirectory(include)<br>
<br>
<br>
Modified: compiler-rt/trunk/lib/lsan/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/CMakeLists.txt?rev=209835&r1=209834&r2=209835&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/CMakeLists.txt?rev=209835&r1=209834&r2=209835&view=diff</a><br>
==============================================================================<br>
--- compiler-rt/trunk/lib/lsan/CMakeLists.txt (original)<br>
+++ compiler-rt/trunk/lib/lsan/CMakeLists.txt Thu May 29 14:01:32 2014<br>
@@ -19,7 +19,7 @@ set(LSAN_SRC_DIR ${CMAKE_CURRENT_SOURCE_<br>
# The common files need to build on every arch supported by ASan.<br>
# (Even if they build into dummy object files.)<br>
filter_available_targets(LSAN_COMMON_SUPPORTED_ARCH<br>
- x86_64 i386 powerpc64 arm)<br>
+ x86_64 i386 powerpc64 arm aarch64)<br>
<br>
add_custom_target(lsan)<br>
<br>
<br>
Modified: compiler-rt/trunk/test/asan/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/CMakeLists.txt?rev=209835&r1=209834&r2=209835&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/CMakeLists.txt?rev=209835&r1=209834&r2=209835&view=diff</a><br>
==============================================================================<br>
--- compiler-rt/trunk/test/asan/CMakeLists.txt (original)<br>
+++ compiler-rt/trunk/test/asan/CMakeLists.txt Thu May 29 14:01:32 2014<br>
@@ -34,6 +34,21 @@ if(CAN_TARGET_arm)<br>
list(APPEND ASAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/ARMLinuxConfig)<br>
endif()<br>
<br>
+if(CAN_TARGET_aarch64)<br>
+ # This is only true if we are cross-compiling.<br>
+ # Build all tests with host compiler and use host tools.<br>
+ set(ASAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER})<br>
+ set(ASAN_TEST_TARGET_CFLAGS ${COMPILER_RT_TEST_COMPILER_CFLAGS})<br>
+ set(ASAN_TEST_CONFIG_SUFFIX "-aarch64-linux")<br>
+ set(ASAN_TEST_BITS "64")<br>
+ set(ASAN_TEST_DYNAMIC False)<br>
+ configure_lit_site_cfg(<br>
+ ${CMAKE_CURRENT_SOURCE_DIR}/<a href="http://lit.site.cfg.in" target="_blank">lit.site.cfg.in</a><br>
+ ${CMAKE_CURRENT_BINARY_DIR}/AArch64LinuxConfig/lit.site.cfg<br>
+ )<br>
+ list(APPEND ASAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/AArch64LinuxConfig)<br>
+endif()<br>
+<br>
if(CAN_TARGET_x86_64 OR CAN_TARGET_powerpc64)<br>
set(ASAN_TEST_CONFIG_SUFFIX "64")<br>
set(ASAN_TEST_BITS "64")<br>
<br>
Modified: compiler-rt/trunk/test/ubsan/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/ubsan/CMakeLists.txt?rev=209835&r1=209834&r2=209835&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/ubsan/CMakeLists.txt?rev=209835&r1=209834&r2=209835&view=diff</a><br>
==============================================================================<br>
--- compiler-rt/trunk/test/ubsan/CMakeLists.txt (original)<br>
+++ compiler-rt/trunk/test/ubsan/CMakeLists.txt Thu May 29 14:01:32 2014<br>
@@ -4,11 +4,15 @@ set(UBSAN_LIT_TEST_MODE "Standalone")<br>
configure_lit_site_cfg(<br>
${CMAKE_CURRENT_SOURCE_DIR}/<a href="http://lit.site.cfg.in" target="_blank">lit.site.cfg.in</a><br>
${CMAKE_CURRENT_BINARY_DIR}/UbsanConfig/lit.site.cfg)<br>
+set(UBSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/UbsanConfig)<br>
<br>
-set(UBSAN_LIT_TEST_MODE "AddressSanitizer")<br>
-configure_lit_site_cfg(<br>
- ${CMAKE_CURRENT_SOURCE_DIR}/<a href="http://lit.site.cfg.in" target="_blank">lit.site.cfg.in</a><br>
- ${CMAKE_CURRENT_BINARY_DIR}/AsanConfig/lit.site.cfg)<br>
+if(ASAN_SUPPORTED_ARCH)<br>
+ set(UBSAN_LIT_TEST_MODE "AddressSanitizer")<br>
+ configure_lit_site_cfg(<br>
+ ${CMAKE_CURRENT_SOURCE_DIR}/<a href="http://lit.site.cfg.in" target="_blank">lit.site.cfg.in</a><br>
+ ${CMAKE_CURRENT_BINARY_DIR}/AsanConfig/lit.site.cfg)<br>
+ list(APPEND UBSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/AsanConfig)<br>
+endif()<br>
<br>
set(UBSAN_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})<br>
if(NOT COMPILER_RT_STANDALONE_BUILD)<br>
@@ -16,7 +20,6 @@ if(NOT COMPILER_RT_STANDALONE_BUILD)<br>
endif()<br>
<br>
add_lit_testsuite(check-ubsan "Running UndefinedBehaviorSanitizer tests"<br>
- ${CMAKE_CURRENT_BINARY_DIR}/UbsanConfig<br>
- ${CMAKE_CURRENT_BINARY_DIR}/AsanConfig<br>
+ ${UBSAN_TESTSUITES}<br>
DEPENDS ${UBSAN_TEST_DEPS})<br>
set_target_properties(check-ubsan PROPERTIES FOLDER "UBSan unittests")<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>