[llvm-branch-commits] [libcxx] 569b773 - [libcxx][CI] Set Arm triples to match native clang build's default
Tom Stellard via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Mar 8 20:44:36 PST 2022
Author: David Spickett
Date: 2022-03-08T20:43:33-08:00
New Revision: 569b773323a3a1c174ae794741c7e1191f8deefc
URL: https://github.com/llvm/llvm-project/commit/569b773323a3a1c174ae794741c7e1191f8deefc
DIFF: https://github.com/llvm/llvm-project/commit/569b773323a3a1c174ae794741c7e1191f8deefc.diff
LOG: [libcxx][CI] Set Arm triples to match native clang build's default
We were using:
armv8-linux-gnueabihf
But for a native clang build the default target is:
armv8l-linux-gnueabihf
(ditto for v7)
Add the "l" to the target triples and update the one test
that is unsupported to look for the various possible names.
armv(7 or 8)(m or l, optionally)
The UNSUPPORTED does not include aarch64 because aarch64 Linux
(and others that follow Arm's AAPCS64) use quad precision for
long double where arm64 (darwin) does not:
https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#811arithmetic-types
Reviewed By: rovka
Differential Revision: https://reviews.llvm.org/D119948
Added:
Modified:
libcxx/cmake/caches/Armv7Arm.cmake
libcxx/cmake/caches/Armv7Thumb-noexceptions.cmake
libcxx/cmake/caches/Armv8Arm.cmake
libcxx/cmake/caches/Armv8Thumb-noexceptions.cmake
libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
Removed:
################################################################################
diff --git a/libcxx/cmake/caches/Armv7Arm.cmake b/libcxx/cmake/caches/Armv7Arm.cmake
index 8b2b54eba13ce..0e9dc10e9d41f 100644
--- a/libcxx/cmake/caches/Armv7Arm.cmake
+++ b/libcxx/cmake/caches/Armv7Arm.cmake
@@ -1,4 +1,4 @@
set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
-set(LIBCXX_TARGET_TRIPLE "armv7-linux-gnueabihf" CACHE STRING "")
+set(LIBCXX_TARGET_TRIPLE "armv7l-linux-gnueabihf" CACHE STRING "")
set(CMAKE_CXX_FLAGS "-marm" CACHE STRING "")
set(CMAKE_C_FLAGS "-marm" CACHE STRING "")
diff --git a/libcxx/cmake/caches/Armv7Thumb-noexceptions.cmake b/libcxx/cmake/caches/Armv7Thumb-noexceptions.cmake
index 67ec43b93f207..61cd3bf7376ea 100644
--- a/libcxx/cmake/caches/Armv7Thumb-noexceptions.cmake
+++ b/libcxx/cmake/caches/Armv7Thumb-noexceptions.cmake
@@ -1,5 +1,5 @@
set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
-set(LIBCXX_TARGET_TRIPLE "armv7-linux-gnueabihf" CACHE STRING "")
+set(LIBCXX_TARGET_TRIPLE "armv7l-linux-gnueabihf" CACHE STRING "")
set(CMAKE_CXX_FLAGS "-mthumb" CACHE STRING "")
set(CMAKE_C_FLAGS "-mthumb" CACHE STRING "")
set(LIBCXX_ENABLE_EXCEPTIONS OFF CACHE BOOL "")
diff --git a/libcxx/cmake/caches/Armv8Arm.cmake b/libcxx/cmake/caches/Armv8Arm.cmake
index 55dfa908b3d01..eee2eb46da56d 100644
--- a/libcxx/cmake/caches/Armv8Arm.cmake
+++ b/libcxx/cmake/caches/Armv8Arm.cmake
@@ -1,4 +1,4 @@
set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
-set(LIBCXX_TARGET_TRIPLE "armv8-linux-gnueabihf" CACHE STRING "")
+set(LIBCXX_TARGET_TRIPLE "armv8l-linux-gnueabihf" CACHE STRING "")
set(CMAKE_CXX_FLAGS "-marm" CACHE STRING "")
set(CMAKE_C_FLAGS "-marm" CACHE STRING "")
diff --git a/libcxx/cmake/caches/Armv8Thumb-noexceptions.cmake b/libcxx/cmake/caches/Armv8Thumb-noexceptions.cmake
index fb1d10efaddce..9c2f90661ef8d 100644
--- a/libcxx/cmake/caches/Armv8Thumb-noexceptions.cmake
+++ b/libcxx/cmake/caches/Armv8Thumb-noexceptions.cmake
@@ -1,5 +1,5 @@
set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
-set(LIBCXX_TARGET_TRIPLE "armv8-linux-gnueabihf" CACHE STRING "")
+set(LIBCXX_TARGET_TRIPLE "armv8l-linux-gnueabihf" CACHE STRING "")
set(CMAKE_CXX_FLAGS "-mthumb" CACHE STRING "")
set(CMAKE_C_FLAGS "-mthumb" CACHE STRING "")
set(LIBCXX_ENABLE_EXCEPTIONS OFF CACHE BOOL "")
diff --git a/libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp b/libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
index b35a50e0a5894..3d777d9d81b60 100644
--- a/libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
+++ b/libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
@@ -10,7 +10,8 @@
// UNSUPPORTED: libcpp-no-concepts
// The following platforms have sizeof(long double) == sizeof(double), so this test doesn't apply to them.
-// UNSUPPORTED: target={{arm64|armv8|armv7|armv7m|powerpc|powerpc64}}-{{.+}}
+// This test does apply to aarch64 where Arm's AAPCS64 is followed. There they are
diff erent sizes.
+// UNSUPPORTED: target={{arm64|armv(7|8)(l|m)?|powerpc|powerpc64}}-{{.+}}
// UNSUPPORTED: target=x86_64-pc-windows-{{.+}}
// <compare>
More information about the llvm-branch-commits
mailing list