[PATCH] D98173: [compiler-rt] Normalize i?86 to i386 and armv* to arm for COMPILER_RT_DEFAULT_TARGET_ARCH
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 8 04:57:14 PST 2021
mstorsjo created this revision.
mstorsjo added reviewers: MaskRay, phosek, rprichard.
Herald added subscribers: pengfei, kristof.beyls, mgorny, dberris.
mstorsjo requested review of this revision.
Herald added a project: Sanitizers.
Herald added a subscriber: Sanitizers.
This corresponds to getArchNameForCompilerRTLib in clang; any
32 bit x86 architecture triple (except on android, but those
exceptions are already handled in compiler-rt on a different level)
get the compiler rt library names with i386; arm targets get either
"arm" or "armhf". (Mapping to "armhf" is handled in the toplevel
CMakeLists.txt.)
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D98173
Files:
compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Index: compiler-rt/cmake/Modules/CompilerRTUtils.cmake
===================================================================
--- compiler-rt/cmake/Modules/CompilerRTUtils.cmake
+++ compiler-rt/cmake/Modules/CompilerRTUtils.cmake
@@ -326,6 +326,21 @@
string(REPLACE "-" ";" TARGET_TRIPLE_LIST ${COMPILER_RT_DEFAULT_TARGET_TRIPLE})
list(GET TARGET_TRIPLE_LIST 0 COMPILER_RT_DEFAULT_TARGET_ARCH)
+
+ # Map various forms of the architecture names to the canonical forms
+ # (as they are used by clang, see getArchNameForCompilerRTLib).
+ if("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "^i.86$")
+ # Android uses i686, but that's remapped at a later stage.
+ set(COMPILER_RT_DEFAULT_TARGET_ARCH "i386")
+ elseif ("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "^arm" AND
+ NOT "${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "^arm64")
+ if ("${COMPILER_RT_DEFAULT_TARGET_TRIPLE}" MATCHES ".*hf$")
+ set(COMPILER_RT_DEFAULT_TARGET_ARCH "armhf")
+ else()
+ set(COMPILER_RT_DEFAULT_TARGET_ARCH "arm")
+ endif()
+ endif()
+
# Determine if test target triple is specified explicitly, and doesn't match the
# default.
if(NOT COMPILER_RT_DEFAULT_TARGET_TRIPLE STREQUAL TARGET_TRIPLE)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98173.328977.patch
Type: text/x-patch
Size: 1222 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210308/80d76a4b/attachment.bin>
More information about the llvm-commits
mailing list