mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-17 15:27:36 +00:00
For arm targets, place ABI at the end of the target triple
For some reason, we have been inserting the ABI specification into the middle of the target triple, when building LLVM, like so: armv6-gnueabi-freebsd12.0 This is the wrong way around. LLVM even auto-canonicalizes it to: armv6--freebsd12.0-gnueabi Let's do this the right way in llvm.build.mk instead. While here, define a proper VENDOR macro which can be overridden easily. Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D10846
This commit is contained in:
parent
2db223f902
commit
38d6a62a21
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=319473
@ -25,16 +25,17 @@ BUILD_ARCH?= ${MACHINE_ARCH}
|
||||
# arm (for armv4 and armv5 CPUs) always uses the soft float ABI.
|
||||
# For all other targets, we stick with 'unknown'.
|
||||
.if ${TARGET_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
|
||||
TARGET_ABI= gnueabihf
|
||||
TARGET_ABI= -gnueabihf
|
||||
.elif ${TARGET_ARCH:Marm*}
|
||||
TARGET_ABI= gnueabi
|
||||
TARGET_ABI= -gnueabi
|
||||
.else
|
||||
TARGET_ABI= unknown
|
||||
TARGET_ABI=
|
||||
.endif
|
||||
VENDOR= unknown
|
||||
OS_VERSION= freebsd12.0
|
||||
|
||||
TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${TARGET_ABI}-${OS_VERSION}
|
||||
BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-unknown-${OS_VERSION}
|
||||
TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION}${TARGET_ABI}
|
||||
BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION}
|
||||
|
||||
CFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\"
|
||||
CFLAGS+= -DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\"
|
||||
|
Loading…
Reference in New Issue
Block a user