diff options
author | Mike Karels <karels@FreeBSD.org> | 2023-07-25 23:58:51 +0000 |
---|---|---|
committer | Mike Karels <karels@FreeBSD.org> | 2023-07-25 23:58:51 +0000 |
commit | f1d5183124d3e18d410ded61e45adb9a23b23c83 (patch) | |
tree | 09e87eeb028906d96bf4b58d723e7def3950d72f | |
parent | 81250b9cc7ced50d90c79e4000250db7197d2129 (diff) | |
download | src-f1d5183124d3.tar.gz src-f1d5183124d3.zip |
arm64 lib32: change clang to allow -m32 on arm64
The FreeBSD driver support for clang tested explicitly for 32-bit
Intel, MIPS, or PowerPC targets where /usr/lib32/libcrt1.o was
present to decide whether -m32 should use /usr/lib32. At jrtc27's
suggestion, simply test for a 32-bit platform rather than adding
arm to the list. Upstreamed as
https://github.com/llvm/llvm-project/commit/3450272fc281979388bb845a9fffb59b42cc2e7e
Bump the freebsd version to force a bootstrap build. This is one
step in adding support for -m32 on arm64.
Reviewed by: jrtc27, brooks, dim
Differential Revision: https://reviews.freebsd.org/D40943
-rw-r--r-- | contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp | 3 | ||||
-rw-r--r-- | lib/clang/freebsd_cc_version.h | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp index 2230295ccd74..80d49c28f497 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp @@ -377,8 +377,7 @@ FreeBSD::FreeBSD(const Driver &D, const llvm::Triple &Triple, // When targeting 32-bit platforms, look for '/usr/lib32/crt1.o' and fall // back to '/usr/lib' if it doesn't exist. - if ((Triple.getArch() == llvm::Triple::x86 || Triple.isMIPS32() || - Triple.isPPC32()) && + if (Triple.isArch32Bit() && D.getVFS().exists(concat(getDriver().SysRoot, "/usr/lib32/crt1.o"))) getFilePaths().push_back(concat(getDriver().SysRoot, "/usr/lib32")); else diff --git a/lib/clang/freebsd_cc_version.h b/lib/clang/freebsd_cc_version.h index 82830fe2baee..e9737b10d337 100644 --- a/lib/clang/freebsd_cc_version.h +++ b/lib/clang/freebsd_cc_version.h @@ -1 +1 @@ -#define FREEBSD_CC_VERSION 1400005 +#define FREEBSD_CC_VERSION 1400006 |