git: c4e3653e713b - main - devel/llvm15: change clang to allow -m32 on arm64
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 12 Jul 2023 19:01:37 UTC
The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/ports/commit/?id=c4e3653e713bdeec98237486ff3fc21b70645d0e commit c4e3653e713bdeec98237486ff3fc21b70645d0e Author: Brooks Davis <brooks@FreeBSD.org> AuthorDate: 2023-07-12 17:34:59 +0000 Commit: Brooks Davis <brooks@FreeBSD.org> CommitDate: 2023-07-12 19:00:55 +0000 devel/llvm15: change clang to allow -m32 on arm64 This is a backport from upstream and will be merged to FreeBSD head soon. See D40943 for more info. Sponsored by: DARPA --- devel/llvm15/Makefile | 2 +- devel/llvm15/files/patch-backport-3450272fc2 | 33 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/devel/llvm15/Makefile b/devel/llvm15/Makefile index 91bdd77f3941..055eda28506c 100644 --- a/devel/llvm15/Makefile +++ b/devel/llvm15/Makefile @@ -1,6 +1,6 @@ PORTNAME= llvm DISTVERSION= 15.0.7 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= devel lang MASTER_SITES= https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/ \ https://${PRE_}releases.llvm.org/${LLVM_RELEASE}${RCDIR}/ diff --git a/devel/llvm15/files/patch-backport-3450272fc2 b/devel/llvm15/files/patch-backport-3450272fc2 new file mode 100644 index 000000000000..1af8bf9700a0 --- /dev/null +++ b/devel/llvm15/files/patch-backport-3450272fc2 @@ -0,0 +1,33 @@ +commit 3450272fc281979388bb845a9fffb59b42cc2e7e +Author: Jessica Clarke <jrtc27@jrtc27.com> +Date: Mon Jul 10 01:40:58 2023 +0100 + + [Driver][FreeBSD] Generalise lib32 handling to support arm + + The current code maintains its own list of 32-bit architectures for + which there is a 64-bit FreeBSD architecture that supports it for lib32. + This is unnecessary (if it's not supported, the directory just won't + exist), and means that, when FreeBSD gains lib32 support for a new + architecture, you need an updated toolchain that knows about it. + Instead we can check for any 32-bit architecture and have forwards + compatibility. + + This is motivated by FreeBSD adding support for building arm lib32 + libraries on aarch64. + + Co-authored-by: Mike Karels <karels@FreeBSD.org> + +diff --git clang/lib/Driver/ToolChains/FreeBSD.cpp clang/lib/Driver/ToolChains/FreeBSD.cpp +index ac336598a78c..84e257741702 100644 +--- clang/lib/Driver/ToolChains/FreeBSD.cpp ++++ clang/lib/Driver/ToolChains/FreeBSD.cpp +@@ -376,8 +376,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