From fee13700c90dd9da71c2b22e1927643d0d252ddf Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Wed, 27 Feb 2019 22:20:11 +0100 Subject: [PATCH 01/17] New package: llvm8-8.0.0 [ci skip] --- common/shlibs | 3 + srcpkgs/clang | 2 +- srcpkgs/clang-analyzer | 2 +- srcpkgs/clang-tools-extra | 2 +- srcpkgs/lld | 2 +- srcpkgs/lld-devel | 2 +- srcpkgs/lldb | 2 +- srcpkgs/lldb-devel | 2 +- srcpkgs/llvm8/files/llvm-Config-config.h | 9 + srcpkgs/llvm8/files/llvm-Config-llvm-config.h | 9 + .../patches/cfe/cfe-001-fix-stdint.patch | 41 +++ .../cfe-003-fix-unwind-chain-inclusion.patch | 45 +++ .../cfe/cfe-004-add-musl-triples.patch | 57 ++++ .../cfe-005-ppc64-dynamic-linker-path.patch | 17 ++ .../cfe/cfe-006-ppc64-musl-elfv2.patch | 30 ++ .../files/patches/lldb/zzz-aarch64.patch | 25 ++ .../files/patches/llvm/llvm-001-musl.patch | 58 ++++ .../llvm/llvm-002-musl-ppc64-elfv2.patch | 43 +++ srcpkgs/llvm8/template | 263 ++++++++++++++++++ srcpkgs/llvm8/update | 2 + 20 files changed, 609 insertions(+), 7 deletions(-) create mode 100644 srcpkgs/llvm8/files/llvm-Config-config.h create mode 100644 srcpkgs/llvm8/files/llvm-Config-llvm-config.h create mode 100644 srcpkgs/llvm8/files/patches/cfe/cfe-001-fix-stdint.patch create mode 100644 srcpkgs/llvm8/files/patches/cfe/cfe-003-fix-unwind-chain-inclusion.patch create mode 100644 srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch create mode 100644 srcpkgs/llvm8/files/patches/cfe/cfe-005-ppc64-dynamic-linker-path.patch create mode 100644 srcpkgs/llvm8/files/patches/cfe/cfe-006-ppc64-musl-elfv2.patch create mode 100644 srcpkgs/llvm8/files/patches/lldb/zzz-aarch64.patch create mode 100644 srcpkgs/llvm8/files/patches/llvm/llvm-001-musl.patch create mode 100644 srcpkgs/llvm8/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch create mode 100644 srcpkgs/llvm8/template create mode 100644 srcpkgs/llvm8/update diff --git a/common/shlibs b/common/shlibs index d234eed3170e28..9bc7017bd04cc8 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1015,6 +1015,9 @@ liblldb.so.7 lldb-7.0.0_1 libclang.so.7 clang-7.0.0_1 libLLVM-6.0.so libllvm6.0-6.0.0_1 libLLVM-7.so libllvm7-7.0.0_1 +libLLVM-8.so libllvm8-8.0.0_1 +libOptRemarks.so.8 libllvm8-8.0.0_1 +libLTO.so.8 libllvm8-8.0.0_1 libisofs.so.6 libisofs-0.6.24_1 libmpack.so.0 libmpack-1.0.5_1 libGeoIP.so.1 libgeoip-1.4.8_1 diff --git a/srcpkgs/clang b/srcpkgs/clang index 8c9f4d992dec9e..8ec3476f9c1ac8 120000 --- a/srcpkgs/clang +++ b/srcpkgs/clang @@ -1 +1 @@ -llvm7 \ No newline at end of file +llvm8 \ No newline at end of file diff --git a/srcpkgs/clang-analyzer b/srcpkgs/clang-analyzer index 8c9f4d992dec9e..8ec3476f9c1ac8 120000 --- a/srcpkgs/clang-analyzer +++ b/srcpkgs/clang-analyzer @@ -1 +1 @@ -llvm7 \ No newline at end of file +llvm8 \ No newline at end of file diff --git a/srcpkgs/clang-tools-extra b/srcpkgs/clang-tools-extra index 8c9f4d992dec9e..8ec3476f9c1ac8 120000 --- a/srcpkgs/clang-tools-extra +++ b/srcpkgs/clang-tools-extra @@ -1 +1 @@ -llvm7 \ No newline at end of file +llvm8 \ No newline at end of file diff --git a/srcpkgs/lld b/srcpkgs/lld index 8c9f4d992dec9e..8ec3476f9c1ac8 120000 --- a/srcpkgs/lld +++ b/srcpkgs/lld @@ -1 +1 @@ -llvm7 \ No newline at end of file +llvm8 \ No newline at end of file diff --git a/srcpkgs/lld-devel b/srcpkgs/lld-devel index 8c9f4d992dec9e..8ec3476f9c1ac8 120000 --- a/srcpkgs/lld-devel +++ b/srcpkgs/lld-devel @@ -1 +1 @@ -llvm7 \ No newline at end of file +llvm8 \ No newline at end of file diff --git a/srcpkgs/lldb b/srcpkgs/lldb index 8c9f4d992dec9e..8ec3476f9c1ac8 120000 --- a/srcpkgs/lldb +++ b/srcpkgs/lldb @@ -1 +1 @@ -llvm7 \ No newline at end of file +llvm8 \ No newline at end of file diff --git a/srcpkgs/lldb-devel b/srcpkgs/lldb-devel index 8c9f4d992dec9e..8ec3476f9c1ac8 120000 --- a/srcpkgs/lldb-devel +++ b/srcpkgs/lldb-devel @@ -1 +1 @@ -llvm7 \ No newline at end of file +llvm8 \ No newline at end of file diff --git a/srcpkgs/llvm8/files/llvm-Config-config.h b/srcpkgs/llvm8/files/llvm-Config-config.h new file mode 100644 index 00000000000000..c369b4551f785d --- /dev/null +++ b/srcpkgs/llvm8/files/llvm-Config-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "config-32.h" +#elif __WORDSIZE == 64 +#include "config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/srcpkgs/llvm8/files/llvm-Config-llvm-config.h b/srcpkgs/llvm8/files/llvm-Config-llvm-config.h new file mode 100644 index 00000000000000..2fa08c9be69621 --- /dev/null +++ b/srcpkgs/llvm8/files/llvm-Config-llvm-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "llvm-config-32.h" +#elif __WORDSIZE == 64 +#include "llvm-config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/srcpkgs/llvm8/files/patches/cfe/cfe-001-fix-stdint.patch b/srcpkgs/llvm8/files/patches/cfe/cfe-001-fix-stdint.patch new file mode 100644 index 00000000000000..17c6989dc8fff7 --- /dev/null +++ b/srcpkgs/llvm8/files/patches/cfe/cfe-001-fix-stdint.patch @@ -0,0 +1,41 @@ +From fd3bcfddcdb11757e95bc3a625017cbf234b67ed Mon Sep 17 00:00:00 2001 +From: Andrea Brancaleoni +Date: Tue, 8 Sep 2015 22:14:32 +0200 +Subject: [PATCH 1/7] fix stdint + +--- + lib/Headers/stdint.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/lib/Headers/stdint.h b/lib/Headers/stdint.h +index 0303db9..8ca28df 100644 +--- a/lib/Headers/stdint.h ++++ b/lib/Headers/stdint.h +@@ -22,8 +22,6 @@ + * + \*===----------------------------------------------------------------------===*/ + +-#ifndef __CLANG_STDINT_H +-#define __CLANG_STDINT_H + + /* If we're hosted, fall back to the system's stdint.h, which might have + * additional definitions. +@@ -72,6 +70,8 @@ + # endif + + #else ++#ifndef __CLANG_STDINT_H ++#define __CLANG_STDINT_H + + /* C99 7.18.1.1 Exact-width integer types. + * C99 7.18.1.2 Minimum-width integer types. +@@ -703,5 +703,5 @@ typedef __UINTMAX_TYPE__ uintmax_t; + #define INTMAX_C(v) __INTN_C(__INTMAX_WIDTH__, v) + #define UINTMAX_C(v) __UINTN_C(__INTMAX_WIDTH__, v) + +-#endif /* __STDC_HOSTED__ */ + #endif /* __CLANG_STDINT_H */ ++#endif /* __STDC_HOSTED__ */ +-- +2.5.1 + diff --git a/srcpkgs/llvm8/files/patches/cfe/cfe-003-fix-unwind-chain-inclusion.patch b/srcpkgs/llvm8/files/patches/cfe/cfe-003-fix-unwind-chain-inclusion.patch new file mode 100644 index 00000000000000..a399ac17a0c884 --- /dev/null +++ b/srcpkgs/llvm8/files/patches/cfe/cfe-003-fix-unwind-chain-inclusion.patch @@ -0,0 +1,45 @@ +From 352974169f0d2b5da3d5321f588f5e3b5941330e Mon Sep 17 00:00:00 2001 +From: Andrea Brancaleoni +Date: Tue, 8 Sep 2015 22:14:57 +0200 +Subject: [PATCH 2/7] fix unwind chain inclusion + +--- + lib/Headers/unwind.h | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/lib/Headers/unwind.h b/lib/Headers/unwind.h +index 303d792..44e10cc 100644 +--- a/lib/Headers/unwind.h ++++ b/lib/Headers/unwind.h +@@ -23,9 +23,6 @@ + + /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/ + +-#ifndef __CLANG_UNWIND_H +-#define __CLANG_UNWIND_H +- + #if defined(__APPLE__) && __has_include_next() + /* Darwin (from 11.x on) provide an unwind.h. If that's available, + * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE, +@@ -53,6 +50,9 @@ + # endif + #else + ++#ifndef __CLANG_UNWIND_H ++#define __CLANG_UNWIND_H ++ + #include + + #ifdef __cplusplus +@@ -277,6 +277,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struct _Unwind_Context *); + } + #endif + ++#endif /* __CLANG_UNWIND_H */ ++ + #endif + +-#endif /* __CLANG_UNWIND_H */ +-- +2.5.1 + diff --git a/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch b/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch new file mode 100644 index 00000000000000..04b3764dbc93ce --- /dev/null +++ b/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch @@ -0,0 +1,57 @@ +--- clang/lib/Driver/ToolChains/Gnu.cpp ++++ clang/lib/Driver/ToolChains/Gnu.cpp +@@ -1812,7 +1812,7 @@ + static const char *const AArch64LibDirs[] = {"/lib64", "/lib"}; + static const char *const AArch64Triples[] = { + "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux", +- "aarch64-suse-linux"}; ++ "aarch64-suse-linux","aarch64-linux-musl"}; + static const char *const AArch64beLibDirs[] = {"/lib"}; + static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu", + "aarch64_be-linux-gnu"}; +@@ -1882,7 +1882,10 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( + static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf", + "armv7hl-redhat-linux-gnueabi", + "armv6hl-suse-linux-gnueabi", +- "armv7hl-suse-linux-gnueabi"}; ++ "armv7hl-suse-linux-gnueabi", ++ "arm-linux-musleabihf", ++ "armv7l-linux-musleabihf", ++ "armv7l-linux-gnueabihf"}; + static const char *const ARMebLibDirs[] = {"/lib"}; + static const char *const ARMebTriples[] = {"armeb-linux-gnueabi"}; + static const char *const ARMebHFTriples[] = { +@@ -1835,14 +1837,15 @@ + "x86_64-redhat-linux", "x86_64-suse-linux", + "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", + "x86_64-slackware-linux", "x86_64-unknown-linux", +- "x86_64-amazon-linux"}; ++ "x86_64-amazon-linux", "x86_64-linux-musl"}; + static const char *const X32LibDirs[] = {"/libx32"}; + static const char *const X86LibDirs[] = {"/lib32", "/lib"}; + static const char *const X86Triples[] = { + "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu", + "i386-linux-gnu", "i386-redhat-linux6E", "i686-redhat-linux", + "i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux", +- "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu"}; ++ "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu", ++ "i686-linux-musl"}; + + static const char *const MIPSLibDirs[] = {"/lib"}; + static const char *const MIPSTriples[] = {"mips-linux-gnu", "mips-mti-linux", +@@ -1869,11 +1872,13 @@ + static const char *const PPC64LibDirs[] = {"/lib64", "/lib"}; + static const char *const PPC64Triples[] = { + "powerpc64-linux-gnu", "powerpc64-unknown-linux-gnu", +- "powerpc64-suse-linux", "ppc64-redhat-linux"}; ++ "powerpc64-suse-linux", "ppc64-redhat-linux", ++ "powerpc64-linux-musl"}; + static const char *const PPC64LELibDirs[] = {"/lib64", "/lib"}; + static const char *const PPC64LETriples[] = { + "powerpc64le-linux-gnu", "powerpc64le-unknown-linux-gnu", +- "powerpc64le-suse-linux", "ppc64le-redhat-linux"}; ++ "powerpc64le-suse-linux", "ppc64le-redhat-linux", ++ "powerpc64le-linux-musl"}; + + static const char *const RISCV32LibDirs[] = {"/lib", "/lib32"}; + static const char *const RISCVTriples[] = {"riscv32-unknown-linux-gnu", diff --git a/srcpkgs/llvm8/files/patches/cfe/cfe-005-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm8/files/patches/cfe/cfe-005-ppc64-dynamic-linker-path.patch new file mode 100644 index 00000000000000..d268ddc42d762f --- /dev/null +++ b/srcpkgs/llvm8/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/llvm8/files/patches/cfe/cfe-006-ppc64-musl-elfv2.patch b/srcpkgs/llvm8/files/patches/cfe/cfe-006-ppc64-musl-elfv2.patch new file mode 100644 index 00000000000000..b307b7aa8cc668 --- /dev/null +++ b/srcpkgs/llvm8/files/patches/cfe/cfe-006-ppc64-musl-elfv2.patch @@ -0,0 +1,30 @@ +--- clang/lib/Basic/Targets/PPC.h ++++ clang/lib/Basic/Targets/PPC.h +@@ -358,7 +358,10 @@ public: + ABI = "elfv2"; + } else { + resetDataLayout("E-m:e-i64:64-n32:64"); +- ABI = "elfv1"; ++ if (Triple.getEnvironment() == llvm::Triple::Musl) ++ ABI = "elfv2"; ++ else ++ ABI = "elfv1"; + } + + switch (getTriple().getOS()) { +diff --git a/tools/clang/lib/Driver/ToolChains/Clang.cpp b/tools/clang/lib/Driver/ToolChains/Clang.cpp +index 8e9c4c6a..40817ec3 100644 +--- clang/lib/Driver/ToolChains/Clang.cpp ++++ clang/lib/Driver/ToolChains/Clang.cpp +@@ -1618,7 +1618,10 @@ void Clang::AddPPCTargetArgs(const ArgList &Args, + break; + } + +- ABIName = "elfv1"; ++ if (getToolChain().getTriple().getEnvironment() == llvm::Triple::Musl) ++ ABIName = "elfv2"; ++ else ++ ABIName = "elfv1"; + break; + } + case llvm::Triple::ppc64le: diff --git a/srcpkgs/llvm8/files/patches/lldb/zzz-aarch64.patch b/srcpkgs/llvm8/files/patches/lldb/zzz-aarch64.patch new file mode 100644 index 00000000000000..5bacbf47296dba --- /dev/null +++ b/srcpkgs/llvm8/files/patches/lldb/zzz-aarch64.patch @@ -0,0 +1,25 @@ +--- lldb/source/Plugins/Process/Linux/Procfs.h.orig ++++ lldb/source/Plugins/Process/Linux/Procfs.h +@@ -11,21 +11,6 @@ + // sys/procfs.h on Android/Linux for all supported architectures. + + #include ++#include + +-#ifdef __ANDROID__ +-#if defined(__arm64__) || defined(__aarch64__) +-typedef unsigned long elf_greg_t; +-typedef elf_greg_t +- elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))]; +-typedef struct user_fpsimd_state elf_fpregset_t; +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#elif defined(__mips__) +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#endif +-#else // __ANDROID__ + #include +-#endif // __ANDROID__ diff --git a/srcpkgs/llvm8/files/patches/llvm/llvm-001-musl.patch b/srcpkgs/llvm8/files/patches/llvm/llvm-001-musl.patch new file mode 100644 index 00000000000000..05afc89be3052b --- /dev/null +++ b/srcpkgs/llvm8/files/patches/llvm/llvm-001-musl.patch @@ -0,0 +1,58 @@ +From faca3fbd15d0c3108493c3c54cd93138e049ac43 Mon Sep 17 00:00:00 2001 +From: Andrea Brancaleoni +Date: Tue, 8 Sep 2015 22:03:02 +0200 +Subject: [PATCH 3/3] musl + +--- + include/llvm/Analysis/TargetLibraryInfo.h | 9 +++++++++ + lib/Support/DynamicLibrary.cpp | 2 +- + lib/Support/Unix/Signals.inc | 6 +++--- + utils/unittest/googletest/src/gtest.cc | 1 + + 5 files changed, 17 insertions(+), 6 deletions(-) + +diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h +index e0a1ee3..465b65a 100644 +--- a/include/llvm/Analysis/TargetLibraryInfo.h ++++ b/include/llvm/Analysis/TargetLibraryInfo.h +@@ -18,6 +18,15 @@ + #include "llvm/IR/Module.h" + #include "llvm/Pass.h" + ++#undef fopen64 ++#undef fseeko64 ++#undef fstat64 ++#undef fstatvfs64 ++#undef ftello64 ++#undef lstat64 ++#undef stat64 ++#undef tmpfile64 ++ + namespace llvm { + /// VecDesc - Describes a possible vectorization of a function. + /// Function 'VectorFnName' is equivalent to 'ScalarFnName' vectorized +diff --git a/utils/unittest/googletest/src/gtest.cc b/utils/unittest/googletest/src/gtest.cc +index 5780764..1d548c1 100644 +--- a/utils/unittest/googletest/src/gtest.cc ++++ b/utils/unittest/googletest/src/gtest.cc +@@ -120,6 +120,7 @@ + + #if GTEST_CAN_STREAM_RESULTS_ + # include // NOLINT ++# include // NOLINT + # include // NOLINT + #endif + +-- +2.5.1 + +--- llvm-5.0.0.src/lib/Support/Unix/DynamicLibrary.inc.orig ++++ llvm-5.0.0.src/lib/Support/Unix/DynamicLibrary.inc +@@ -103,7 +103,7 @@ + + // This macro returns the address of a well-known, explicit symbol + #define EXPLICIT_SYMBOL(SYM) \ +- if (!strcmp(SymbolName, #SYM)) return &SYM ++ if (!strcmp(SymbolName, #SYM)) return (void *)&SYM + + // Under glibc we have a weird situation. The stderr/out/in symbols are both + // macros and global variables because of standards requirements. So, we diff --git a/srcpkgs/llvm8/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch b/srcpkgs/llvm8/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch new file mode 100644 index 00000000000000..016be5dadb4b6c --- /dev/null +++ b/srcpkgs/llvm8/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch @@ -0,0 +1,43 @@ +From 750d323a6060ad92c3d247f85d6555041f55b4a5 Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" +Date: Thu, 4 Oct 2018 15:26:59 -0500 +Subject: [PATCH] Add support for powerpc64-*-linux-musl targets + +This patch ensures that 64-bit PowerPC musl targets use ELFv2 ABI on both +endians. It additionally adds a test that big endian PPC64 uses ELFv2 on +musl. +--- + lib/Target/PowerPC/PPCTargetMachine.cpp | 4 ++++ + test/CodeGen/PowerPC/ppc64-elf-abi.ll | 1 + + 2 files changed, 5 insertions(+) + +diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp +index 34410393ef6..c583fba8cab 100644 +--- a/lib/Target/PowerPC/PPCTargetMachine.cpp ++++ b/lib/Target/PowerPC/PPCTargetMachine.cpp +@@ -199,6 +199,10 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT, + case Triple::ppc64le: + return PPCTargetMachine::PPC_ABI_ELFv2; + case Triple::ppc64: ++ // musl uses ELFv2 ABI on both endians. ++ if (TT.getEnvironment() == Triple::Musl) ++ return PPCTargetMachine::PPC_ABI_ELFv2; ++ + return PPCTargetMachine::PPC_ABI_ELFv1; + default: + return PPCTargetMachine::PPC_ABI_UNKNOWN; +diff --git a/test/CodeGen/PowerPC/ppc64-elf-abi.ll b/test/CodeGen/PowerPC/ppc64-elf-abi.ll +index 1e17930304b..aa594b37b47 100644 +--- a/test/CodeGen/PowerPC/ppc64-elf-abi.ll ++++ b/test/CodeGen/PowerPC/ppc64-elf-abi.ll +@@ -1,6 +1,7 @@ + ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv1 + ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv1 < %s | FileCheck %s -check-prefix=CHECK-ELFv1 + ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv2 < %s | FileCheck %s -check-prefix=CHECK-ELFv2 ++; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-musl < %s | FileCheck %s -check-prefix=CHECK-ELFv2 + ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv2 + ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -target-abi elfv1 < %s | FileCheck %s -check-prefix=CHECK-ELFv1 + ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < %s | FileCheck %s -check-prefix=CHECK-ELFv2 +-- +2.18.0 + diff --git a/srcpkgs/llvm8/template b/srcpkgs/llvm8/template new file mode 100644 index 00000000000000..a2851488ce4e07 --- /dev/null +++ b/srcpkgs/llvm8/template @@ -0,0 +1,263 @@ +# Template file for 'llvm8' +pkgname=llvm8 +version=8.0.0 +revision=1 +wrksrc="llvm-${version}.src" +build_style=cmake +configure_args=" + -DCMAKE_BUILD_TYPE=Release + -DLLVM_INSTALL_UTILS=ON + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_FFI=ON + -DLLVM_BINUTILS_INCDIR=/usr/include" +hostmakedepends="groff perl python zlib-devel libffi-devel swig" +makedepends="python-devel zlib-devel libffi-devel libedit-devel + libxml2-devel binutils-devel libatomic-devel" +depends="libllvm8" +short_desc="Low Level Virtual Machine" +maintainer="Rasmus Thomsen " +license="NCSA" +homepage="https://www.llvm.org" +distfiles="https://releases.llvm.org/${version}/llvm-${version}.src.tar.xz +https://releases.llvm.org/${version}/lldb-${version}.src.tar.xz +https://releases.llvm.org/${version}/lld-${version}.src.tar.xz + https://releases.llvm.org/${version}/cfe-${version}.src.tar.xz + https://releases.llvm.org/${version}/clang-tools-extra-${version}.src.tar.xz + https://releases.llvm.org/${version}/compiler-rt-${version}.src.tar.xz" +checksum="8872be1b12c61450cacc82b3d153eab02be2546ef34fa3580ed14137bb26224c + 49918b9f09816554a20ac44c5f85a32dc0a7a00759b3259e78064d674eac0373 + 9caec8ec922e32ffa130f0fb08e4c5a242d7e68ce757631e425e9eba2e1a6e37 + 084c115aab0084e63b23eee8c233abb6739c399e29966eaeccfc6e088e0b736b + 4f00122be408a7482f2004bcf215720d2b88cf8dc78b824abb225da8ad359d4b + b435c7474f459e71b2831f1a4e3f1d21203cb9c0172e94e9d9b69f50354f21b1" +disable_parallel_builds=yes +lib32disabled=yes + +subpackages="clang-tools-extra clang clang-analyzer libllvm8" +if [ -z "$CROSS_BUILD" ]; then + # XXX fails to cross compile due to python + subpackages+=" lldb lldb-devel" +fi +subpackages+=" lld lld-devel" + +case "$XBPS_TARGET_MACHINE" in + armv5*) broken="Tries to assemble VFP instructions with armv5tel arch";; +esac + +post_extract() { + # patches + cd ${XBPS_BUILDDIR}/llvm-${version}.src + for i in ${FILESDIR}/patches/llvm/llvm-*.patch; do + msg_normal "Applying $i to llvm\n" + patch -sNp1 -i ${i} + done + + cd ${XBPS_BUILDDIR}/cfe-${version}.src + for i in ${FILESDIR}/patches/cfe/cfe-*.patch; do + msg_normal "Applying $i to cfe\n" + patch -sNp1 -i ${i} + done + + if [ -z "$CROSS_BUILD" ]; then + cd ${XBPS_BUILDDIR}/lldb-${version}.src + for i in ${FILESDIR}/patches/lldb/*.patch; do + msg_normal "Applying $i to lldb\n" + patch -sNp1 -i ${i} + done + case "$XBPS_TARGET_MACHINE" in + *-musl) sed -i 's|__ptrace_request|int|g' source/Plugins/Process/Linux/NativeProcessLinux.cpp ;; + esac + fi + + # Move clang files into the llvm source. + if [ -d ${XBPS_BUILDDIR}/cfe-${version}.src ]; then + mv ${XBPS_BUILDDIR}/cfe-${version}.src ${wrksrc}/tools/clang + fi + # Move clang-tools-extra files into llvm source. + if [ -d ${XBPS_BUILDDIR}/clang-tools-extra-${version}.src ]; then + mv ${XBPS_BUILDDIR}/clang-tools-extra-${version}.src ${wrksrc}/tools/clang/tools/extra + fi + # Move lld files into the llvm source. + if [ -d ${XBPS_BUILDDIR}/lld-${version}.src ]; then + mv ${XBPS_BUILDDIR}/lld-${version}.src ${wrksrc}/tools/lld + fi + # Move lldb files into the llvm source. + if [ -z "$CROSS_BUILD" -a -d ${XBPS_BUILDDIR}/lldb-${version}.src ]; then + mv ${XBPS_BUILDDIR}/lldb-${version}.src ${wrksrc}/tools/lldb + fi + # Move compiler-rt files into the llvm source. + if [ -d ${XBPS_BUILDDIR}/compiler-rt-${version}.src ]; then + mv ${XBPS_BUILDDIR}/compiler-rt-${version}.src ${wrksrc}/projects/compiler-rt + fi + case "$XBPS_TARGET_MACHINE" in + *-musl) + # Disable sanitizers + sed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' ${wrksrc}/projects/compiler-rt/cmake/config-ix.cmake + ;; + esac + +} + +pre_configure() { + # Vastly reduce size of debugging symbols: + CFLAGS=${CFLAGS/ -g/ -g1} + CXXFLAGS=${CXXFLAGS/ -g/ -g1} + + if [ "$CROSS_BUILD" ]; then + msg_normal "Building host tblgen\n" + mkdir -p build/HOST + cd build/HOST + CC="$BUILD_CC" CXX="$BUILD_CXX" CFLAGS="$BUILD_CFLAGS" \ + CXXFLAGS="$BUILD_CXXFLAGS" LDFLAGS="$BUILD_LDFLAGS" \ + cmake ../.. -DCMAKE_BUILD_TYPE=Release + make ${makejobs} -C utils/TableGen + make ${makejobs} -C tools/clang/utils/TableGen + configure_args+=" -DLLVM_TABLEGEN=${wrksrc}/build/HOST/bin/llvm-tblgen" + configure_args+=" -DCLANG_TABLEGEN=${wrksrc}/build/HOST/bin/clang-tblgen" + cd ../.. + fi + + case "$XBPS_TARGET_MACHINE" in + i686*) _arch="X86";; + x86_64*) _arch="X86";; + armv5*) _arch="Armv5te";; + armv6*) _arch="Armv6";; + armv7*) _arch="Armv7";; + aarch64*) _arch="AArch64";; + mips*) _arch="Mips";; + ppc*) _arch="PowerPC";; + esac + configure_args+=" -DLLVM_TARGET_ARCH=${_arch}" + configure_args+=" -DLLVM_DEFAULT_TARGET_TRIPLE=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET}" +} + +do_install() { + vlicense LICENSE.TXT + + cd build + cmake -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr -P cmake_install.cmake + + # Fix permissions of static libs + chmod -x ${DESTDIR}/usr/lib/*.a + + # Required for multilib. + if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then + for _header in llvm-config; do + mv ${DESTDIR}/usr/include/llvm/Config/${_header}{,-64}.h + vinstall ${FILESDIR}/llvm-Config-${_header}.h 644 \ + usr/include/llvm/Config ${_header}.h + done + fi + + # Remove llvm-config-host in cross builds. + if [ "$CROSS_BUILD" ]; then + rm -f ${DESTDIR}/usr/bin/llvm-config-host + fi +} + +clang-analyzer_package() { + noarch=yes + pycompile_dirs="usr/share/scan-view" + depends="clang-${version}_${revision} python" + short_desc+=" - A source code analysis framework" + homepage="https://clang-analyzer.llvm.org/" + pkg_install() { + vmove usr/share/man/man1/scan-build.1 + vmove "/usr/bin/scan-*" + vmove "/usr/share/scan-*" + vmove "/usr/libexec/*analyzer" + } +} + +clang-tools-extra_package() { + depends="clang-${version}_${revision} python" + short_desc+=" - Extra Clang tools" + homepage="https://clang.llvm.org/extra/" + pkg_install() { + vmove usr/bin/clang-apply-replacements + vmove usr/bin/clang-query + vmove usr/bin/clang-rename + vmove usr/bin/clang-tidy + vmove usr/bin/modularize + vmove "usr/lib/libclangApplyReplacements*" + vmove "usr/lib/libclangQuery*" + vmove "usr/lib/libclangTidy*" + vmove "usr/share/clang/*tidy*" + } +} + +clang_package() { + lib32disabled=yes + depends="libstdc++-devel libgcc-devel binutils" + case "$XBPS_TARGET_MACHINE" in + *-musl) depends+=" musl-devel";; + *) depends+=" glibc-devel";; + esac + short_desc+=" - C language family frontend" + alternatives="cc:cc:/usr/bin/clang" + homepage="https://clang.llvm.org/" + pkg_install() { + vmove usr/include/clang + vmove usr/include/clang-c + vmove "usr/bin/*clang*" + vmove usr/bin/c-index-test + vmove usr/lib/clang + vmove usr/lib/cmake/clang + vmove "usr/lib/libclang*" + vmove "usr/share/clang" + } +} + +lld_package() { + lib32disabled=yes + short_desc+=" - linker" + homepage="https://lld.llvm.org" + pkg_install() { + vmove usr/bin/lld* + vmove usr/bin/ld.lld* + } +} + +lld-devel_package() { + lib32disabled=yes + short_desc+=" - linker - development files" + homepage="https://lld.llvm.org" + pkg_install() { + vmove usr/include/lld + vmove "usr/lib/liblld*a" + } +} + +lldb_package() { + lib32disabled=yes + depends+=" python-six" + short_desc+=" - LLDB debugger" + homepage="https://lldb.llvm.org/" + pkg_install() { + vmove usr/bin/*lldb* + vmove usr/lib/liblldb*so.* + vman tools/lldb/docs/lldb.1 + vmove /usr/lib/python* + # Depend on python-six instead of conflicting + rm "${PKGDESTDIR}/usr/lib/python2.7/site-packages/six.py" + } +} + +lldb-devel_package() { + depends="lldb>=${version}_${revision}" + short_desc+=" - LLDB debugger - development files" + pkg_install() { + vmove usr/include/lldb + vmove "usr/lib/liblldb*.a" + vmove "usr/lib/liblldb*.so" + } +} + +libllvm8_package() { + short_desc+=" - runtime library" + pkg_install() { + vmove "usr/lib/libLLVM-*.so*" + } +} diff --git a/srcpkgs/llvm8/update b/srcpkgs/llvm8/update new file mode 100644 index 00000000000000..3d09eaff37388b --- /dev/null +++ b/srcpkgs/llvm8/update @@ -0,0 +1,2 @@ +site=https://releases.llvm.org/ +pattern="'\K[\d\.]*(?=')" From 857d0c53758a8bede4bb1ecd14646ed5a16e0588 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Wed, 27 Feb 2019 22:20:16 +0100 Subject: [PATCH 02/17] llvm: update to 8.0.0. [ci skip] --- common/shlibs | 4 ++-- srcpkgs/libllvm8 | 1 + srcpkgs/llvm/template | 6 +++--- srcpkgs/llvm8/template | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) create mode 120000 srcpkgs/libllvm8 diff --git a/common/shlibs b/common/shlibs index 9bc7017bd04cc8..39cc4b52686996 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1011,8 +1011,8 @@ libuchardet.so.0 uchardet-0.0.6_1 libgtksourceviewmm-3.0.so.0 gtksourceviewmm-3.2.0_1 libyajl.so.2 yajl-2.0.1_1 libconfuse.so.2 confuse-3.2.1_1 -liblldb.so.7 lldb-7.0.0_1 -libclang.so.7 clang-7.0.0_1 +liblldb.so.8 lldb-8.0.0_1 +libclang.so.8 clang-8.0.0_1 libLLVM-6.0.so libllvm6.0-6.0.0_1 libLLVM-7.so libllvm7-7.0.0_1 libLLVM-8.so libllvm8-8.0.0_1 diff --git a/srcpkgs/libllvm8 b/srcpkgs/libllvm8 new file mode 120000 index 00000000000000..8ec3476f9c1ac8 --- /dev/null +++ b/srcpkgs/libllvm8 @@ -0,0 +1 @@ +llvm8 \ No newline at end of file diff --git a/srcpkgs/llvm/template b/srcpkgs/llvm/template index 4bce3527d1c58c..d6452c67e1979b 100644 --- a/srcpkgs/llvm/template +++ b/srcpkgs/llvm/template @@ -1,9 +1,9 @@ # Template file for 'llvm' pkgname=llvm -version=7.0.1 -revision=2 +version=8.0.0 +revision=1 build_style=meta -depends="llvm7" +depends="llvm8" short_desc="LLVM meta package" maintainer="Rasmus Thomsen " license="Public Domain" diff --git a/srcpkgs/llvm8/template b/srcpkgs/llvm8/template index a2851488ce4e07..1c6c115d361751 100644 --- a/srcpkgs/llvm8/template +++ b/srcpkgs/llvm8/template @@ -46,7 +46,7 @@ case "$XBPS_TARGET_MACHINE" in armv5*) broken="Tries to assemble VFP instructions with armv5tel arch";; esac -post_extract() { +post_patch() { # patches cd ${XBPS_BUILDDIR}/llvm-${version}.src for i in ${FILESDIR}/patches/llvm/llvm-*.patch; do From 72cb4fde23389e7fcddf7bc2b249c2cccd49ea42 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 28 Feb 2019 21:35:35 +0100 Subject: [PATCH 03/17] llvm7: remove all subpackages but libllvm7 [ci skip] --- srcpkgs/llvm7/template | 174 +----------------- srcpkgs/llvm7/update | 1 + .../cfe/cfe-004-add-musl-triples.patch | 31 ++-- 3 files changed, 24 insertions(+), 182 deletions(-) diff --git a/srcpkgs/llvm7/template b/srcpkgs/llvm7/template index b91f6a5cf3c68b..6c8c64c47c58a1 100644 --- a/srcpkgs/llvm7/template +++ b/srcpkgs/llvm7/template @@ -1,7 +1,7 @@ # Template file for 'llvm7' pkgname=llvm7 version=7.0.1 -revision=5 +revision=6 wrksrc="llvm-${version}.src" build_style=cmake configure_args=" @@ -13,22 +13,11 @@ configure_args=" -DLLVM_ENABLE_FFI=ON -DLLVM_BINUTILS_INCDIR=/usr/include" short_desc="Low Level Virtual Machine" -maintainer="Juan RP " +maintainer="Rasmus Thomsen " license="NCSA" homepage="https://www.llvm.org" -distfiles=" - https://www.llvm.org/releases/${version}/llvm-${version}.src.tar.xz - https://www.llvm.org/releases/${version}/lldb-${version}.src.tar.xz - https://www.llvm.org/releases/${version}/lld-${version}.src.tar.xz - https://www.llvm.org/releases/${version}/cfe-${version}.src.tar.xz - https://www.llvm.org/releases/${version}/clang-tools-extra-${version}.src.tar.xz - https://www.llvm.org/releases/${version}/compiler-rt-${version}.src.tar.xz" -checksum="a38dfc4db47102ec79dcc2aa61e93722c5f6f06f0a961073bd84b78fb949419b - 76b46be75b412a3d22f0d26279306ae7e274fe4d7988a2184c529c38a6a76982 - 8869aab2dd2d8e00d69943352d3166d159d7eae2615f66a684f4a0999fc74031 - a45b62dde5d7d5fdcdfa876b0af92f164d434b06e9e89b5d0b1cbc65dfe3f418 - 4c93c7d2bb07923a8b272da3ef7914438080aeb693725f4fc5c19cd0e2613bed - 782edfc119ee172f169c91dd79f2c964fb6b248bd9b73523149030ed505bbe18" +distfiles="https://www.llvm.org/releases/${version}/llvm-${version}.src.tar.xz" +checksum=a38dfc4db47102ec79dcc2aa61e93722c5f6f06f0a961073bd84b78fb949419b disable_parallel_builds=yes lib32disabled=yes @@ -36,14 +25,10 @@ lib32disabled=yes hostmakedepends="groff perl python zlib-devel libffi-devel swig" makedepends="python-devel zlib-devel libffi-devel libedit-devel libxml2-devel binutils-devel libatomic-devel" depends="libllvm7" +# all of these provide llvm-config +conflicts="llvm>=0 llvm3.9>=0 llvm6.0>=0 llvm7>=0" -subpackages="clang-tools-extra clang clang-analyzer libllvm7" -if [ -z "$CROSS_BUILD" ]; then - # XXX fails to cross compile due to python - subpackages+=" lldb lldb-devel" -fi -subpackages+=" lld lld-devel" - +subpackages="libllvm7" case "$XBPS_TARGET_MACHINE" in armv5*) broken="Tries to assemble VFP instructions with armv5tel arch";; esac @@ -55,51 +40,6 @@ post_extract() { msg_normal "Applying $i to llvm\n" patch -sNp1 -i ${i} done - - cd ${XBPS_BUILDDIR}/cfe-${version}.src - for i in ${FILESDIR}/patches/cfe/cfe-*.patch; do - msg_normal "Applying $i to cfe\n" - patch -sNp1 -i ${i} - done - - if [ -z "$CROSS_BUILD" ]; then - cd ${XBPS_BUILDDIR}/lldb-${version}.src - for i in ${FILESDIR}/patches/lldb/*.patch; do - msg_normal "Applying $i to lldb\n" - patch -sNp1 -i ${i} - done - case "$XBPS_TARGET_MACHINE" in - *-musl) sed -i 's|__ptrace_request|int|g' source/Plugins/Process/Linux/NativeProcessLinux.cpp ;; - esac - fi - - # Move clang files into the llvm source. - if [ -d ${XBPS_BUILDDIR}/cfe-${version}.src ]; then - mv ${XBPS_BUILDDIR}/cfe-${version}.src ${wrksrc}/tools/clang - fi - # Move clang-tools-extra files into llvm source. - if [ -d ${XBPS_BUILDDIR}/clang-tools-extra-${version}.src ]; then - mv ${XBPS_BUILDDIR}/clang-tools-extra-${version}.src ${wrksrc}/tools/clang/tools/extra - fi - # Move lld files into the llvm source. - if [ -d ${XBPS_BUILDDIR}/lld-${version}.src ]; then - mv ${XBPS_BUILDDIR}/lld-${version}.src ${wrksrc}/tools/lld - fi - # Move lldb files into the llvm source. - if [ -z "$CROSS_BUILD" -a -d ${XBPS_BUILDDIR}/lldb-${version}.src ]; then - mv ${XBPS_BUILDDIR}/lldb-${version}.src ${wrksrc}/tools/lldb - fi - # Move compiler-rt files into the llvm source. - if [ -d ${XBPS_BUILDDIR}/compiler-rt-${version}.src ]; then - mv ${XBPS_BUILDDIR}/compiler-rt-${version}.src ${wrksrc}/projects/compiler-rt - fi - case "$XBPS_TARGET_MACHINE" in - *-musl) - # Disable sanitizers - sed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' ${wrksrc}/projects/compiler-rt/cmake/config-ix.cmake - ;; - esac - } pre_configure() { @@ -115,9 +55,7 @@ pre_configure() { CXXFLAGS="$BUILD_CXXFLAGS" LDFLAGS="$BUILD_LDFLAGS" \ cmake ../.. -DCMAKE_BUILD_TYPE=Release make ${makejobs} -C utils/TableGen - make ${makejobs} -C tools/clang/utils/TableGen configure_args+=" -DLLVM_TABLEGEN=${wrksrc}/build/HOST/bin/llvm-tblgen" - configure_args+=" -DCLANG_TABLEGEN=${wrksrc}/build/HOST/bin/clang-tblgen" cd ../.. fi @@ -159,104 +97,6 @@ do_install() { fi } -clang-analyzer_package() { - archs=noarch - pycompile_dirs="usr/share/scan-view" - depends="clang-${version}_${revision} python" - short_desc+=" - A source code analysis framework" - homepage="https://clang-analyzer.llvm.org/" - pkg_install() { - vmove usr/share/man/man1/scan-build.1 - vmove "/usr/bin/scan-*" - vmove "/usr/share/scan-*" - vmove "/usr/libexec/*analyzer" - } -} - -clang-tools-extra_package() { - depends="clang-${version}_${revision} python" - short_desc+=" - Extra Clang tools" - homepage="https://clang.llvm.org/extra/" - pkg_install() { - vmove usr/bin/clang-apply-replacements - vmove usr/bin/clang-query - vmove usr/bin/clang-rename - vmove usr/bin/clang-tidy - vmove usr/bin/modularize - vmove "usr/lib/libclangApplyReplacements*" - vmove "usr/lib/libclangQuery*" - vmove "usr/lib/libclangTidy*" - vmove "usr/share/clang/*tidy*" - } -} - -clang_package() { - lib32disabled=yes - depends="libstdc++-devel libgcc-devel binutils" - case "$XBPS_TARGET_MACHINE" in - *-musl) depends+=" musl-devel";; - *) depends+=" glibc-devel";; - esac - short_desc+=" - C language family frontend" - alternatives="cc:cc:/usr/bin/clang" - homepage="https://clang.llvm.org/" - pkg_install() { - vmove usr/include/clang - vmove usr/include/clang-c - vmove "usr/bin/*clang*" - vmove usr/bin/c-index-test - vmove usr/lib/clang - vmove usr/lib/cmake/clang - vmove "usr/lib/libclang*" - vmove "usr/share/clang" - } -} - -lld_package() { - lib32disabled=yes - short_desc+=" - linker" - homepage="https://lld.llvm.org" - pkg_install() { - vmove usr/bin/lld* - vmove usr/bin/ld.lld* - } -} - -lld-devel_package() { - lib32disabled=yes - short_desc+=" - linker - development files" - homepage="https://lld.llvm.org" - pkg_install() { - vmove usr/include/lld - vmove "usr/lib/liblld*a" - } -} - -lldb_package() { - lib32disabled=yes - depends+=" python-six" - short_desc+=" - LLDB debugger" - homepage="https://lldb.llvm.org/" - pkg_install() { - vmove usr/bin/*lldb* - vmove usr/lib/liblldb*so.* - vman tools/lldb/docs/lldb.1 - vmove /usr/lib/python* - # Depend on python-six instead of conflicting - rm "${PKGDESTDIR}/usr/lib/python2.7/site-packages/six.py" - } -} - -lldb-devel_package() { - depends="lldb>=${version}_${revision}" - short_desc+=" - LLDB debugger - development files" - pkg_install() { - vmove usr/include/lldb - vmove "usr/lib/liblldb*.a" - vmove "usr/lib/liblldb*.so" - } -} - libllvm7_package() { short_desc+=" - runtime library" pkg_install() { diff --git a/srcpkgs/llvm7/update b/srcpkgs/llvm7/update index 3d09eaff37388b..071d14ce89ecf3 100644 --- a/srcpkgs/llvm7/update +++ b/srcpkgs/llvm7/update @@ -1,2 +1,3 @@ site=https://releases.llvm.org/ pattern="'\K[\d\.]*(?=')" +ignore="8.*" diff --git a/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch b/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch index 04b3764dbc93ce..dc1038de10ade3 100644 --- a/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch +++ b/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch @@ -1,11 +1,11 @@ --- clang/lib/Driver/ToolChains/Gnu.cpp +++ clang/lib/Driver/ToolChains/Gnu.cpp -@@ -1812,7 +1812,7 @@ +@@ -1871,7 +1871,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( static const char *const AArch64LibDirs[] = {"/lib64", "/lib"}; static const char *const AArch64Triples[] = { "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux", -- "aarch64-suse-linux"}; -+ "aarch64-suse-linux","aarch64-linux-musl"}; +- "aarch64-suse-linux", "aarch64-linux-android"}; ++ "aarch64-suse-linux", "aarch64-linux-android", "aarch64-linux-musl"}; static const char *const AArch64beLibDirs[] = {"/lib"}; static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu", "aarch64_be-linux-gnu"}; @@ -19,27 +19,28 @@ + "armv7l-linux-musleabihf", + "armv7l-linux-gnueabihf"}; static const char *const ARMebLibDirs[] = {"/lib"}; - static const char *const ARMebTriples[] = {"armeb-linux-gnueabi"}; - static const char *const ARMebHFTriples[] = { -@@ -1835,14 +1837,15 @@ + static const char *const ARMebTriples[] = {"armeb-linux-gnueabi", + "armeb-linux-androideabi"}; +@@ -1896,7 +1898,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( "x86_64-redhat-linux", "x86_64-suse-linux", "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux", "x86_64-unknown-linux", -- "x86_64-amazon-linux"}; -+ "x86_64-amazon-linux", "x86_64-linux-musl"}; +- "x86_64-amazon-linux", "x86_64-linux-android"}; ++ "x86_64-amazon-linux", "x86_64-linux-android", ++ "x86_64-linux-musl"}; static const char *const X32LibDirs[] = {"/libx32"}; static const char *const X86LibDirs[] = {"/lib32", "/lib"}; static const char *const X86Triples[] = { - "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu", - "i386-linux-gnu", "i386-redhat-linux6E", "i686-redhat-linux", +@@ -1905,7 +1908,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( "i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux", -- "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu"}; -+ "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu", -+ "i686-linux-musl"}; + "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu", + "i686-linux-android", "i386-gnu", "i486-gnu", +- "i586-gnu", "i686-gnu"}; ++ "i586-gnu", "i686-gnu", "i686-linux-musl"}; static const char *const MIPSLibDirs[] = {"/lib"}; - static const char *const MIPSTriples[] = {"mips-linux-gnu", "mips-mti-linux", -@@ -1869,11 +1872,13 @@ + static const char *const MIPSTriples[] = { +@@ -1945,11 +1948,13 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( static const char *const PPC64LibDirs[] = {"/lib64", "/lib"}; static const char *const PPC64Triples[] = { "powerpc64-linux-gnu", "powerpc64-unknown-linux-gnu", From 9d40a6d5c3c9e45c1139ec862c261bbeb51aa9fd Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Sun, 3 Mar 2019 12:02:44 +0100 Subject: [PATCH 04/17] ccls: rebuild against libLLVM-8.so [ci skip] --- srcpkgs/ccls/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/ccls/template b/srcpkgs/ccls/template index 73fc3deabdb27e..13023e88b05574 100644 --- a/srcpkgs/ccls/template +++ b/srcpkgs/ccls/template @@ -1,12 +1,12 @@ # Template file for 'ccls' pkgname=ccls version=0.20181225.8 -revision=1 +revision=2 build_style=cmake configure_args="-DSYSTEM_CLANG=ON -DUSE_SHARED_LLVM=ON -DLLVM_ENABLE_RTTI=ON" -hostmakedepends="clang llvm7 rapidjson" +hostmakedepends="clang llvm rapidjson" makedepends="ncurses-devel zlib-devel" -depends="${hostmakedepends}" +depends="$hostmakedepends" short_desc="C/C++/ObjC language server" maintainer="Nathan Owens " license="Apache-2.0" From a0d520e18392c0b23373a2daf4c3d714933e697d Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Sun, 3 Mar 2019 12:03:18 +0100 Subject: [PATCH 05/17] qt5: rebuild against libclang-8.so [ci skip] --- srcpkgs/qt5/template | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template index 493b846838bd01..5c9d3eff576e2d 100644 --- a/srcpkgs/qt5/template +++ b/srcpkgs/qt5/template @@ -1,7 +1,7 @@ # Template file for 'qt5' pkgname=qt5 version=5.11.3 -revision=5 +revision=6 wrksrc="qt-everywhere-src-${version}" build_style=gnu-configure hostmakedepends="cmake clang flex git glib-devel gperf ninja pkg-config @@ -156,7 +156,7 @@ _install_subpkg() { rm -f ${PKGDESTDIR}/usr/lib/*.so rm -f ${PKGDESTDIR}/usr/lib/*.prl if [ -d ${PKGDESTDIR}/usr/lib/qt5/bin ]; then - if [ -n "$CROSS_BUILD" ]; then + if [ "$CROSS_BUILD" ]; then for f in $(find ${PKGDESTDIR}/usr/lib/qt5/bin -name "*-target" -type f); do base=${f##*/} mv -v ${f} ${f%-target} @@ -274,7 +274,7 @@ do_configure() { esac # Cross build patches - if [ -n "$CROSS_BUILD" ]; then + if [ "$CROSS_BUILD" ]; then # This also sets default {C,CXX,LD}FLAGS for projects built using qmake sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${XBPS_CFLAGS}|" \ ${wrksrc}/qtbase/mkspecs/common/gcc-base.conf @@ -376,7 +376,7 @@ do_configure() { fi LDFLAGS+=" -Wl,--no-keep-memory" # needs more than 8GB RAM else - if [ -n "$CROSS_BUILD" ]; then + if [ "$CROSS_BUILD" ]; then spec=void-${XBPS_CROSS_TRIPLET}-g++ _create_config ${spec} opts+=" -device ${spec}" @@ -435,7 +435,7 @@ do_install() { ln -sf /usr/lib/qt5/bin/${base} ${PKGDESTDIR}/usr/bin/${base}-qt5 done - if [ -n "$CROSS_BUILD" ]; then + if [ "$CROSS_BUILD" ]; then vmkdir usr/bin vmkdir usr/lib/qt5/bin @@ -1177,7 +1177,7 @@ qt5-qmake_package() { -e '/^QMAKE_CFLAGS_ISYSTEM/s;-isystem;-I;' # Undo changes to mkspecs/common/gcc-base.conf and g++-unix.conf - if [ -n "$CROSS_BUILD" ]; then + if [ "$CROSS_BUILD" ]; then sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\) ${XBPS_CFLAGS}|\1|" \ ${PKGDESTDIR}/usr/lib/qt5/mkspecs/common/gcc-base.conf sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\) ${XBPS_LDFLAGS}|\1|" \ From b2c831bc52d1586c1b4c819121b66771bbe6e7e7 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Sun, 3 Mar 2019 12:03:26 +0100 Subject: [PATCH 06/17] libGL: rebuild against libLLVM-8.so [ci skip] --- srcpkgs/libGL/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/libGL/template b/srcpkgs/libGL/template index 1fbe6669d9d890..7a34204f1531c3 100644 --- a/srcpkgs/libGL/template +++ b/srcpkgs/libGL/template @@ -1,7 +1,7 @@ # Template file for 'libGL' pkgname=libGL version=19.0.1 -revision=1 +revision=2 wrksrc="mesa-${version}" build_style=meson configure_args="-Dshared-glapi=true -Dgbm=true -Degl=true From a07228c3a0613216d1548862bb92fb0d6179f539 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Sun, 3 Mar 2019 12:04:49 +0100 Subject: [PATCH 07/17] ldc: use llvm7 [ci skip] --- srcpkgs/beignet/template | 2 +- srcpkgs/ldc/template | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/beignet/template b/srcpkgs/beignet/template index 06fb9fc9e2c4e1..3e173e0e0bc1bc 100644 --- a/srcpkgs/beignet/template +++ b/srcpkgs/beignet/template @@ -5,7 +5,7 @@ revision=4 wrksrc="Beignet-${version}-Source" archs="i686* x86_64*" build_style=cmake -hostmakedepends="clang llvm pkg-config" +hostmakedepends="clang llvm7 pkg-config" makedepends="MesaLib-devel libedit-devel libffi-devel ocl-icd-devel zlib-devel" short_desc="The Beignet GPGPU System for Intel GPUs" depends="ocl-icd" diff --git a/srcpkgs/ldc/template b/srcpkgs/ldc/template index a1a1fbd173ddb7..f227f0d2b5d986 100644 --- a/srcpkgs/ldc/template +++ b/srcpkgs/ldc/template @@ -1,13 +1,13 @@ # Template file for 'ldc' pkgname=ldc version=1.13.0 -revision=1 +revision=2 wrksrc="ldc-${version}-src" build_style=cmake configure_args="-DINCLUDE_INSTALL_DIR=/usr/include/dlang/ldc -DBUILD_SHARED_LIBS=ON -DBASH_COMPLETION_COMPLETIONSDIR=/usr/share/bash-completion" conf_files="/etc/ldc2.conf" -hostmakedepends="dmd llvm perl pkg-config" +hostmakedepends="dmd llvm7 perl pkg-config" makedepends="libcurl-devel libffi-devel ncurses-devel zlib-devel" depends="ldc-runtime" short_desc="Portable D programming language compiler based on LLVM" From 5d1c3e76df6f370c5d60391a01adb9d832ed337c Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 21 Mar 2019 22:01:54 +0100 Subject: [PATCH 08/17] clazy: rebuild against libclang-8.so [ci skip] --- srcpkgs/clazy/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/clazy/template b/srcpkgs/clazy/template index b2b8090ffdcf0b..81f3176a363d8e 100644 --- a/srcpkgs/clazy/template +++ b/srcpkgs/clazy/template @@ -1,7 +1,7 @@ # Template file for 'clazy' pkgname=clazy version=1.5 -revision=1 +revision=2 build_style=cmake hostmakedepends="python" makedepends="clang llvm" From b4ab97cf7bfc173bbb7ad39df6050b2d0c669f1d Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 21 Mar 2019 22:01:58 +0100 Subject: [PATCH 09/17] codelite: rebuild against libclang-8.so [ci skip] --- srcpkgs/codelite/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template index e29aebbc8d7e2c..87458f193c40bf 100644 --- a/srcpkgs/codelite/template +++ b/srcpkgs/codelite/template @@ -1,7 +1,7 @@ # Template file for 'codelite' pkgname=codelite version=12.0 -revision=8 +revision=9 build_style=cmake configure_args="-DENABLE_CLANG=1 -DENABLE_LLDB=1 -DWITH_MYSQL=1" hostmakedepends="pkg-config clang" From 52df2732524eeb56a2996d47635d713a26451544 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 21 Mar 2019 22:02:03 +0100 Subject: [PATCH 10/17] juCi++: rebuild against libclang-8.so [ci skip] --- srcpkgs/juCi++/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/juCi++/template b/srcpkgs/juCi++/template index 55f6873c936b43..c7c0e3f275a6e6 100644 --- a/srcpkgs/juCi++/template +++ b/srcpkgs/juCi++/template @@ -1,7 +1,7 @@ # Template file for 'juCi++' pkgname=juCi++ version=1.4.6 -revision=4 +revision=5 _libclangmm_commit="2b2f2ead1f685a9efb28ee2c0ff3cbe452a724dd" _tiny_commit="54b95a21cf35f8467e21038f523fd3342a77de4c" wrksrc="jucipp-v${version}" From 3927d0291b408784f8d3ffd93b83df18fad7a434 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 21 Mar 2019 22:02:08 +0100 Subject: [PATCH 11/17] kdevelop: rebuild against libclang-8.so [ci skip] --- srcpkgs/kdevelop/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/kdevelop/template b/srcpkgs/kdevelop/template index 9636d06407c587..b2f78182b9bedc 100644 --- a/srcpkgs/kdevelop/template +++ b/srcpkgs/kdevelop/template @@ -1,7 +1,7 @@ # Template file for 'kdevelop' pkgname=kdevelop version=5.3.1 -revision=2 +revision=3 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools" makedepends="apr-util-devel clang grantlee5-devel kcmutils-devel kdevelop-pg-qt From 1a46e21fa5f63d747f042299a972fc768c1bc19d Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 21 Mar 2019 22:02:13 +0100 Subject: [PATCH 12/17] ponyc: rebuild against libLLVM-8.so [ci skip] --- srcpkgs/ponyc/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/ponyc/template b/srcpkgs/ponyc/template index 1fd317f2b4cb6a..9813543def18ec 100644 --- a/srcpkgs/ponyc/template +++ b/srcpkgs/ponyc/template @@ -1,7 +1,7 @@ # Template file for 'ponyc' pkgname=ponyc version=0.28.0 -revision=1 +revision=2 archs="x86_64" build_style=gnu-makefile hostmakedepends="llvm7" From ff28e1daa620722092d0eabaa53964d0847402cb Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 21 Mar 2019 22:02:16 +0100 Subject: [PATCH 13/17] qtcreator: rebuild against libclang-8.so [ci skip] --- srcpkgs/qtcreator/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/qtcreator/template b/srcpkgs/qtcreator/template index f2aac2cb27dad1..bcbadf4e735d1d 100644 --- a/srcpkgs/qtcreator/template +++ b/srcpkgs/qtcreator/template @@ -1,7 +1,7 @@ # Template file for 'qtcreator' pkgname=qtcreator version=4.8.1 -revision=3 +revision=4 wrksrc="qt-creator-opensource-src-${version}" build_style=qmake make_install_args="INSTALL_ROOT=\${DESTDIR}/usr" From 09bb3ffd187a9e4f9bc0c146f573802014a683c8 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 21 Mar 2019 22:02:20 +0100 Subject: [PATCH 14/17] rtags: rebuild against libclang-8.so [ci skip] --- srcpkgs/rtags/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/rtags/template b/srcpkgs/rtags/template index f4215db768b1e0..3ac8ac10ec897a 100644 --- a/srcpkgs/rtags/template +++ b/srcpkgs/rtags/template @@ -1,7 +1,7 @@ # Template file for 'rtags' pkgname=rtags version=2.22 -revision=1 +revision=2 build_style=cmake # Don't run tests in do_install, please. configure_args="-DSKIP_CTEST=TRUE" From ae578618fb9fd8779b952ce438c942a13564310d Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Wed, 27 Mar 2019 14:06:28 +0100 Subject: [PATCH 15/17] beignet: mark as broken due to libclang8 [ci skip] --- srcpkgs/beignet/template | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/srcpkgs/beignet/template b/srcpkgs/beignet/template index 3e173e0e0bc1bc..fdabcd06fcc42d 100644 --- a/srcpkgs/beignet/template +++ b/srcpkgs/beignet/template @@ -2,18 +2,19 @@ pkgname=beignet version=1.3.2 revision=4 -wrksrc="Beignet-${version}-Source" archs="i686* x86_64*" +wrksrc="Beignet-${version}-Source" build_style=cmake -hostmakedepends="clang llvm7 pkg-config" +hostmakedepends="clang llvm pkg-config" makedepends="MesaLib-devel libedit-devel libffi-devel ocl-icd-devel zlib-devel" -short_desc="The Beignet GPGPU System for Intel GPUs" depends="ocl-icd" +short_desc="Beignet GPGPU System for Intel GPUs" maintainer="Juan RP " license="LGPL-2.1-or-later" homepage="http://www.freedesktop.org/wiki/Software/Beignet/" distfiles="https://01.org/sites/default/files/${pkgname}-${version}-source.tar.gz" checksum=c555edba149de23243965a703f39f79fa06f15bcff5a3762b5544b0925010b43 +broken="Doesn't build against libLLVM8; can't be built against libclang 8 and libLLVM7" post_install() { # remove CL headers, we do use opencl-headers instead. From 95df4f3146acbc58584bcb49b7637763ef537272 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Fri, 29 Mar 2019 15:11:54 +0100 Subject: [PATCH 16/17] gnome-builder: rebuild against libclang-8.so [ci skip] --- srcpkgs/gnome-builder/template | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/srcpkgs/gnome-builder/template b/srcpkgs/gnome-builder/template index a5c215d355c413..a1abc523c69500 100644 --- a/srcpkgs/gnome-builder/template +++ b/srcpkgs/gnome-builder/template @@ -1,7 +1,7 @@ # Template file for 'gnome-builder' pkgname=gnome-builder version=3.32.0 -revision=1 +revision=2 build_style=meson configure_args="-Dwith_webkit=true -Dwith_sysprof=true -Dhelp=true" hostmakedepends="appdata-tools desktop-file-utils flex gobject-introspection @@ -20,12 +20,10 @@ changelog="https://gitlab.gnome.org/GNOME/gnome-builder/raw/gnome-builder-3-32/N distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz" checksum=e46270d86a52721e4329349e4badff1df63a98aeb2a2c4554969367ba1d68702 patch_args="-Np1" +nocross="Cannot build gresources on cross musl, unresolvable shlibs on glibc cross" case "$XBPS_TARGET_MACHINE" in - *-musl) makedepends+=" libexecinfo-devel" + x86_64-musl|i686-musl) makedepends+=" libexecinfo-devel" LIBS+=" -lexecinfo" ;; - armv*|aarch64) - broken="llvm" - ;; esac From e1138f85d39378d73579833f2cd3c1f4056f40f6 Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Sat, 30 Mar 2019 15:14:22 +0100 Subject: [PATCH 17/17] llvm8: add mips* triplets [ci skip] --- .../cfe/cfe-004-add-musl-triples.patch | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch b/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch index dc1038de10ade3..913ddad58d88a5 100644 --- a/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch +++ b/srcpkgs/llvm8/files/patches/cfe/cfe-004-add-musl-triples.patch @@ -1,6 +1,6 @@ ---- clang/lib/Driver/ToolChains/Gnu.cpp -+++ clang/lib/Driver/ToolChains/Gnu.cpp -@@ -1871,7 +1871,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( +--- lib/Driver/ToolChains/Gnu.cpp.orig 2019-03-30 15:08:33.136000000 +0100 ++++ lib/Driver/ToolChains/Gnu.cpp 2019-03-30 15:10:24.666000000 +0100 +@@ -1871,7 +1871,7 @@ static const char *const AArch64LibDirs[] = {"/lib64", "/lib"}; static const char *const AArch64Triples[] = { "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux", @@ -9,7 +9,7 @@ static const char *const AArch64beLibDirs[] = {"/lib"}; static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu", "aarch64_be-linux-gnu"}; -@@ -1882,7 +1882,10 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( +@@ -1882,7 +1882,10 @@ static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf", "armv7hl-redhat-linux-gnueabi", "armv6hl-suse-linux-gnueabi", @@ -21,7 +21,7 @@ static const char *const ARMebLibDirs[] = {"/lib"}; static const char *const ARMebTriples[] = {"armeb-linux-gnueabi", "armeb-linux-androideabi"}; -@@ -1896,7 +1898,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( +@@ -1896,7 +1899,8 @@ "x86_64-redhat-linux", "x86_64-suse-linux", "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux", "x86_64-unknown-linux", @@ -31,7 +31,7 @@ static const char *const X32LibDirs[] = {"/libx32"}; static const char *const X86LibDirs[] = {"/lib32", "/lib"}; static const char *const X86Triples[] = { -@@ -1905,7 +1908,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( +@@ -1905,12 +1909,13 @@ "i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux", "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu", "i686-linux-android", "i386-gnu", "i486-gnu", @@ -40,7 +40,14 @@ static const char *const MIPSLibDirs[] = {"/lib"}; static const char *const MIPSTriples[] = { -@@ -1945,11 +1948,13 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( + "mips-linux-gnu", "mips-mti-linux", "mips-mti-linux-gnu", +- "mips-img-linux-gnu", "mipsisa32r6-linux-gnu"}; ++ "mips-img-linux-gnu", "mipsisa32r6-linux-gnu", "mips-linux-musl", ++ "mipsel-linux-musl", "mipsel-linux-muslhf", "mips-linux-muslhf"}; + static const char *const MIPSELLibDirs[] = {"/lib"}; + static const char *const MIPSELTriples[] = { + "mipsel-linux-gnu", "mips-img-linux-gnu", "mipsisa32r6el-linux-gnu", +@@ -1945,11 +1950,13 @@ static const char *const PPC64LibDirs[] = {"/lib64", "/lib"}; static const char *const PPC64Triples[] = { "powerpc64-linux-gnu", "powerpc64-unknown-linux-gnu",