<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>