diff options
Diffstat (limited to 'devel/llvm13/files/patch-backport-3450272fc2')
| -rw-r--r-- | devel/llvm13/files/patch-backport-3450272fc2 | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/devel/llvm13/files/patch-backport-3450272fc2 b/devel/llvm13/files/patch-backport-3450272fc2 new file mode 100644 index 000000000000..3b5b5bb99a8f --- /dev/null +++ b/devel/llvm13/files/patch-backport-3450272fc2 @@ -0,0 +1,32 @@ +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 +--- clang/lib/Driver/ToolChains/FreeBSD.cpp.orig 2022-06-22 17:46:24.000000000 +0100 ++++ clang/lib/Driver/ToolChains/FreeBSD.cpp 2023-07-12 18:38:47.053029000 +0100 +@@ -385,8 +385,7 @@ + + // 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(getDriver().SysRoot + "/usr/lib32/crt1.o")) + getFilePaths().push_back(getDriver().SysRoot + "/usr/lib32"); + else |
