From 4ab6862074d85371faf1335ba580e2346a7e56eb Mon Sep 17 00:00:00 2001 From: q66 Date: Thu, 13 Dec 2018 19:58:53 +0100 Subject: [PATCH] llvm7: add support for ppc64 targets Besides supporting the arch itself, this also adds a patch to change the dynamic linker path on ppc64 from lib64 to lib to match the same behavior on musl and x86_64 platforms. [ci skip] --- .../cfe/cfe-005-ppc64-dynamic-linker-path.patch | 17 +++++++++++++++++ srcpkgs/llvm7/template | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/llvm7/files/patches/cfe/cfe-005-ppc64-dynamic-linker-path.patch diff --git a/srcpkgs/llvm7/files/patches/cfe/cfe-005-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm7/files/patches/cfe/cfe-005-ppc64-dynamic-linker-path.patch new file mode 100644 index 00000000000..d268ddc42d7 --- /dev/null +++ b/srcpkgs/llvm7/files/patches/cfe/cfe-005-ppc64-dynamic-linker-path.patch @@ -0,0 +1,17 @@ +--- clang/lib/Driver/ToolChains/Linux.cpp 2018-12-16 23:52:16.174867512 +0100 ++++ clang/lib/Driver/ToolChains/Linux.cpp 2018-12-16 23:56:25.040531791 +0100 +@@ -502,12 +502,12 @@ + Loader = "ld.so.1"; + break; + case llvm::Triple::ppc64: +- LibDir = "lib64"; ++ LibDir = "lib"; + Loader = + (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; + break; + case llvm::Triple::ppc64le: +- LibDir = "lib64"; ++ LibDir = "lib"; + Loader = + (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; + break; diff --git a/srcpkgs/llvm7/template b/srcpkgs/llvm7/template index 3f2adfcd90d..7f876522024 100644 --- a/srcpkgs/llvm7/template +++ b/srcpkgs/llvm7/template @@ -1,7 +1,7 @@ # Template file for 'llvm7' pkgname=llvm7 version=7.0.1 -revision=1 +revision=2 wrksrc="llvm-${version}.src" lib32disabled=yes build_style=cmake @@ -128,6 +128,7 @@ pre_configure() { armv7*) _arch="Armv7";; aarch64*) _arch="AArch64";; mips*) _arch="Mips";; + ppc64*) _arch="PowerPC";; esac configure_args+=" -DLLVM_TARGET_ARCH=${_arch}" configure_args+=" -DLLVM_DEFAULT_TARGET_TRIPLE=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET}"