* [PR PATCH] llvm12: clean up template, fix libc++ with compiler-rt
@ 2021-06-22 19:23 q66
2021-06-22 20:09 ` [PR PATCH] [Updated] " q66
2021-06-22 22:22 ` [PR PATCH] [Closed]: " q66
0 siblings, 2 replies; 3+ messages in thread
From: q66 @ 2021-06-22 19:23 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 352 bytes --]
There is a new pull request by q66 against master on the void-packages repository
https://github.com/void-ppc/void-packages llvm12-rebuild
https://github.com/void-linux/void-packages/pull/31617
llvm12: clean up template, fix libc++ with compiler-rt
[ci skip]
A patch file from https://github.com/void-linux/void-packages/pull/31617.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-llvm12-rebuild-31617.patch --]
[-- Type: text/x-diff, Size: 36077 bytes --]
From de7917147790cec99b3ba5d18a646382d8ec1657 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 22 Jun 2021 21:11:13 +0200
Subject: [PATCH] llvm12: clean up template, fix libc++ with compiler-rt
---
...clang-001-fix-unwind-chain-inclusion.patch | 4 +-
.../clang-002-add-musl-triples.patch | 4 +-
.../clang-003-ppc64-dynamic-linker-path.patch | 4 +-
.../clang-004-ppc64-musl-elfv2.patch | 12 +-
.../compiler-rt-aarch64-ucontext.patch | 4 +-
.../compiler-rt-sanitizer-ppc64-musl.patch | 12 +-
.../compiler-rt-size_t.patch | 4 +-
.../compiler-rt-xray-ppc64-musl.patch | 4 +-
.../libcxx => patches}/libcxx-musl.patch | 4 +-
.../libcxx => patches}/libcxx-ppc.patch | 4 +-
.../libcxx-ssp-nonshared.patch | 4 +-
.../libunwind-ppc32.patch | 20 +-
.../musl.patch => patches/lldb-musl.patch} | 4 +-
.../llvm => patches}/llvm-001-musl.patch | 12 +-
.../llvm-002-musl-ppc64-elfv2.patch | 8 +-
.../llvm-003-ppc-secureplt.patch | 4 +-
.../llvm-004-override-opt.patch | 4 +-
.../llvm-005-ppc-bigpic.patch | 8 +-
.../llvm-006-aarch64-mf_exec.patch | 4 +-
srcpkgs/llvm12/template | 205 ++++--------------
20 files changed, 107 insertions(+), 222 deletions(-)
rename srcpkgs/llvm12/{files/patches/clang => patches}/clang-001-fix-unwind-chain-inclusion.patch (94%)
rename srcpkgs/llvm12/{files/patches/clang => patches}/clang-002-add-musl-triples.patch (98%)
rename srcpkgs/llvm12/{files/patches/clang => patches}/clang-003-ppc64-dynamic-linker-path.patch (79%)
rename srcpkgs/llvm12/{files/patches/clang => patches}/clang-004-ppc64-musl-elfv2.patch (86%)
rename srcpkgs/llvm12/{files/patches/compiler-rt => patches}/compiler-rt-aarch64-ucontext.patch (73%)
rename srcpkgs/llvm12/{files/patches/compiler-rt => patches}/compiler-rt-sanitizer-ppc64-musl.patch (67%)
rename srcpkgs/llvm12/{files/patches/compiler-rt => patches}/compiler-rt-size_t.patch (52%)
rename srcpkgs/llvm12/{files/patches/compiler-rt => patches}/compiler-rt-xray-ppc64-musl.patch (93%)
rename srcpkgs/llvm12/{files/patches/libcxx => patches}/libcxx-musl.patch (95%)
rename srcpkgs/llvm12/{files/patches/libcxx => patches}/libcxx-ppc.patch (94%)
rename srcpkgs/llvm12/{files/patches/libcxx => patches}/libcxx-ssp-nonshared.patch (83%)
rename srcpkgs/llvm12/{files/patches/libunwind => patches}/libunwind-ppc32.patch (82%)
rename srcpkgs/llvm12/{files/patches/lldb/musl.patch => patches/lldb-musl.patch} (88%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-001-musl.patch (85%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-002-musl-ppc64-elfv2.patch (88%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-003-ppc-secureplt.patch (78%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-004-override-opt.patch (91%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-005-ppc-bigpic.patch (89%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-006-aarch64-mf_exec.patch (95%)
diff --git a/srcpkgs/llvm12/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch b/srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch
similarity index 94%
rename from srcpkgs/llvm12/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
rename to srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch
index 04244bcc2740..e4eaa7783e7a 100644
--- a/srcpkgs/llvm12/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
+++ b/srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch
@@ -9,8 +9,8 @@ Subject: [PATCH 2/7] fix unwind chain inclusion
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
+--- a/clang/lib/Headers/unwind.h
++++ b/clang/lib/Headers/unwind.h
@@ -9,9 +9,6 @@
/* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/
diff --git a/srcpkgs/llvm12/files/patches/clang/clang-002-add-musl-triples.patch b/srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch
similarity index 98%
rename from srcpkgs/llvm12/files/patches/clang/clang-002-add-musl-triples.patch
rename to srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch
index 6945e7fe79e1..25688d40dbc2 100644
--- a/srcpkgs/llvm12/files/patches/clang/clang-002-add-musl-triples.patch
+++ b/srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch
@@ -1,5 +1,5 @@
---- a/lib/Driver/ToolChains/Gnu.cpp
-+++ b/lib/Driver/ToolChains/Gnu.cpp
+--- a/clang/lib/Driver/ToolChains/Gnu.cpp
++++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -2086,7 +2086,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
"armv7hl-redhat-linux-gnueabi",
diff --git a/srcpkgs/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch
similarity index 79%
rename from srcpkgs/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
rename to srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch
index afc0810f48de..4ad6412d1e6c 100644
--- a/srcpkgs/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
+++ b/srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch
@@ -1,5 +1,5 @@
---- a/lib/Driver/ToolChains/Linux.cpp
-+++ b/lib/Driver/ToolChains/Linux.cpp
+--- a/clang/lib/Driver/ToolChains/Linux.cpp
++++ b/clang/lib/Driver/ToolChains/Linux.cpp
@@ -504,10 +504,6 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
Loader = "ld.so.1";
break;
diff --git a/srcpkgs/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch b/srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch
similarity index 86%
rename from srcpkgs/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
rename to srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch
index 912094e5535c..21fc8003c5f1 100644
--- a/srcpkgs/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
+++ b/srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch
@@ -1,5 +1,5 @@
---- a/lib/Basic/Targets/PPC.h
-+++ b/lib/Basic/Targets/PPC.h
+--- a/clang/lib/Basic/Targets/PPC.h
++++ b/clang/lib/Basic/Targets/PPC.h
@@ -415,11 +415,10 @@ public:
LongDoubleFormat = &llvm::APFloat::IEEEdouble();
} else if ((Triple.getArch() == llvm::Triple::ppc64le)) {
@@ -13,8 +13,8 @@
if (Triple.isOSFreeBSD() || Triple.isOSOpenBSD() || Triple.isMusl()) {
LongDoubleWidth = LongDoubleAlign = 64;
---- a/lib/CodeGen/TargetInfo.cpp
-+++ b/lib/CodeGen/TargetInfo.cpp
+--- a/clang/lib/CodeGen/TargetInfo.cpp
++++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -10927,9 +10927,9 @@ const TargetCodeGenInfo &CodeGenModule::getTargetCodeGenInfo() {
return SetCGInfo(new AIXTargetCodeGenInfo(Types, /*Is64Bit*/ true));
@@ -28,8 +28,8 @@
bool IsSoftFloat = CodeGenOpts.FloatABI == "soft";
return SetCGInfo(
---- a/lib/Driver/ToolChains/Clang.cpp
-+++ b/lib/Driver/ToolChains/Clang.cpp
+--- a/clang/lib/Driver/ToolChains/Clang.cpp
++++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -1920,14 +1920,7 @@ void Clang::AddPPCTargetArgs(const ArgList &Args,
const llvm::Triple &T = getToolChain().getTriple();
if (T.isOSBinFormatELF()) {
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch b/srcpkgs/llvm12/patches/compiler-rt-aarch64-ucontext.patch
similarity index 73%
rename from srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch
rename to srcpkgs/llvm12/patches/compiler-rt-aarch64-ucontext.patch
index 49689ca01a60..893c059d7b8d 100644
--- a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch
+++ b/srcpkgs/llvm12/patches/compiler-rt-aarch64-ucontext.patch
@@ -1,5 +1,5 @@
---- compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp.orig
-+++ compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp.orig
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
@@ -1799,7 +1799,7 @@
static bool Aarch64GetESR(ucontext_t *ucontext, u64 *esr) {
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch b/srcpkgs/llvm12/patches/compiler-rt-sanitizer-ppc64-musl.patch
similarity index 67%
rename from srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch
rename to srcpkgs/llvm12/patches/compiler-rt-sanitizer-ppc64-musl.patch
index a776e823de1a..35f16d24f340 100644
--- a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch
+++ b/srcpkgs/llvm12/patches/compiler-rt-sanitizer-ppc64-musl.patch
@@ -1,5 +1,5 @@
---- a/lib/sanitizer_common/sanitizer_linux.cpp
-+++ b/lib/sanitizer_common/sanitizer_linux.cpp
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
@@ -74,6 +74,10 @@
#include <sys/utsname.h>
#endif
@@ -11,8 +11,8 @@
#if SANITIZER_LINUX && !SANITIZER_ANDROID
#include <sys/personality.h>
#endif
---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
@@ -92,7 +92,7 @@
# include <utime.h>
# include <sys/ptrace.h>
@@ -22,8 +22,8 @@
# include <asm/ptrace.h>
# ifdef __arm__
typedef struct user_fpregs elf_fpregset_t;
---- a/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
-+++ b/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
@@ -31,7 +31,7 @@
#include <sys/types.h> // for pid_t
#include <sys/uio.h> // for iovec
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch b/srcpkgs/llvm12/patches/compiler-rt-size_t.patch
similarity index 52%
rename from srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch
rename to srcpkgs/llvm12/patches/compiler-rt-size_t.patch
index 2c943d924705..2c63063a5e9e 100644
--- a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch
+++ b/srcpkgs/llvm12/patches/compiler-rt-size_t.patch
@@ -1,5 +1,5 @@
---- compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp.orig
-+++ compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp
+--- a/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp.orig
++++ b/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp
@@ -25,6 +25,7 @@
}
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch b/srcpkgs/llvm12/patches/compiler-rt-xray-ppc64-musl.patch
similarity index 93%
rename from srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
rename to srcpkgs/llvm12/patches/compiler-rt-xray-ppc64-musl.patch
index 6db37ce06f76..d0b61c80c897 100644
--- a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
+++ b/srcpkgs/llvm12/patches/compiler-rt-xray-ppc64-musl.patch
@@ -1,5 +1,5 @@
---- a/lib/xray/xray_powerpc64.inc
-+++ b/lib/xray/xray_powerpc64.inc
+--- a/compiler-rt/lib/xray/xray_powerpc64.inc
++++ b/compiler-rt/lib/xray/xray_powerpc64.inc
@@ -12,7 +12,13 @@
#include <cstdint>
diff --git a/srcpkgs/llvm12/files/patches/libcxx/libcxx-musl.patch b/srcpkgs/llvm12/patches/libcxx-musl.patch
similarity index 95%
rename from srcpkgs/llvm12/files/patches/libcxx/libcxx-musl.patch
rename to srcpkgs/llvm12/patches/libcxx-musl.patch
index f6068f7d4405..bbd31ffc2cb1 100644
--- a/srcpkgs/llvm12/files/patches/libcxx/libcxx-musl.patch
+++ b/srcpkgs/llvm12/patches/libcxx-musl.patch
@@ -1,5 +1,5 @@
---- a/include/locale
-+++ b/include/locale
+--- a/libcxx/include/locale
++++ b/libcxx/include/locale
@@ -742,7 +742,11 @@ __num_get_signed_integral(const char* __a, const char* __a_end,
typename remove_reference<decltype(errno)>::type __save_errno = errno;
errno = 0;
diff --git a/srcpkgs/llvm12/files/patches/libcxx/libcxx-ppc.patch b/srcpkgs/llvm12/patches/libcxx-ppc.patch
similarity index 94%
rename from srcpkgs/llvm12/files/patches/libcxx/libcxx-ppc.patch
rename to srcpkgs/llvm12/patches/libcxx-ppc.patch
index b1a7bab499fc..7a92f8004e1c 100644
--- a/srcpkgs/llvm12/files/patches/libcxx/libcxx-ppc.patch
+++ b/srcpkgs/llvm12/patches/libcxx-ppc.patch
@@ -2,8 +2,8 @@ This ensures `is_iec559` is defined correctly under all long double ABIs,
including musl and its 64-bit long double. Also, `__ppc__` or `__ppc64__`
is not defined on gcc.
---- a/include/limits
-+++ b/include/limits
+--- a/libcxx/include/limits
++++ b/libcxx/include/limits
@@ -426,8 +426,14 @@ protected:
_LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nansl("");}
_LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __LDBL_DENORM_MIN__;}
diff --git a/srcpkgs/llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch b/srcpkgs/llvm12/patches/libcxx-ssp-nonshared.patch
similarity index 83%
rename from srcpkgs/llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch
rename to srcpkgs/llvm12/patches/libcxx-ssp-nonshared.patch
index 86ce396959d2..70292beb2fcd 100644
--- a/srcpkgs/llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch
+++ b/srcpkgs/llvm12/patches/libcxx-ssp-nonshared.patch
@@ -1,5 +1,5 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
+--- a/libcxx/CMakeLists.txt
++++ b/libcxx/CMakeLists.txt
@@ -769,6 +769,8 @@ function(cxx_link_system_libraries target)
target_link_libraries(${target} PRIVATE atomic)
endif()
diff --git a/srcpkgs/llvm12/files/patches/libunwind/libunwind-ppc32.patch b/srcpkgs/llvm12/patches/libunwind-ppc32.patch
similarity index 82%
rename from srcpkgs/llvm12/files/patches/libunwind/libunwind-ppc32.patch
rename to srcpkgs/llvm12/patches/libunwind-ppc32.patch
index 08fdb9915311..74aa7576ecf9 100644
--- a/srcpkgs/llvm12/files/patches/libunwind/libunwind-ppc32.patch
+++ b/srcpkgs/llvm12/patches/libunwind-ppc32.patch
@@ -1,7 +1,7 @@
This fixes build at least with gcc9 which does not define `__ppc__`.
---- a/include/__libunwind_config.h
-+++ b/include/__libunwind_config.h
+--- a/libunwind/include/__libunwind_config.h
++++ b/libunwind/include/__libunwind_config.h
@@ -49,7 +49,7 @@
# define _LIBUNWIND_CONTEXT_SIZE 167
# define _LIBUNWIND_CURSOR_SIZE 179
@@ -11,8 +11,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
# define _LIBUNWIND_TARGET_PPC 1
# define _LIBUNWIND_CONTEXT_SIZE 117
# define _LIBUNWIND_CURSOR_SIZE 124
---- a/src/UnwindRegistersRestore.S
-+++ b/src/UnwindRegistersRestore.S
+--- a/libunwind/src/UnwindRegistersRestore.S
++++ b/libunwind/src/UnwindRegistersRestore.S
@@ -392,7 +392,7 @@ Lnovec:
PPC64_LR(3)
bctr
@@ -22,8 +22,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind13Registers_ppc6jumptoEv)
//
---- a/src/UnwindRegistersSave.S
-+++ b/src/UnwindRegistersSave.S
+--- a/libunwind/src/UnwindRegistersSave.S
++++ b/libunwind/src/UnwindRegistersSave.S
@@ -554,7 +554,7 @@ DEFINE_LIBUNWIND_FUNCTION(__unw_getcontext)
blr
@@ -33,8 +33,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
//
// extern int unw_getcontext(unw_context_t* thread_state)
---- a/src/config.h
-+++ b/src/config.h
+--- a/libunwind/src/config.h
++++ b/libunwind/src/config.h
@@ -95,12 +95,12 @@
#define _LIBUNWIND_BUILD_SJLJ_APIS
#endif
@@ -50,8 +50,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
(!defined(__APPLE__) && defined(__arm__)) || \
(defined(__arm64__) || defined(__aarch64__)) || \
defined(__mips__)
---- a/src/libunwind.cpp
-+++ b/src/libunwind.cpp
+--- a/libunwind/src/libunwind.cpp
++++ b/libunwind/src/libunwind.cpp
@@ -42,7 +42,7 @@ _LIBUNWIND_HIDDEN int __unw_init_local(unw_cursor_t *cursor,
# define REGISTER_KIND Registers_x86_64
#elif defined(__powerpc64__)
diff --git a/srcpkgs/llvm12/files/patches/lldb/musl.patch b/srcpkgs/llvm12/patches/lldb-musl.patch
similarity index 88%
rename from srcpkgs/llvm12/files/patches/lldb/musl.patch
rename to srcpkgs/llvm12/patches/lldb-musl.patch
index 37416bb478df..601c0d138523 100644
--- a/srcpkgs/llvm12/files/patches/lldb/musl.patch
+++ b/srcpkgs/llvm12/patches/lldb-musl.patch
@@ -1,5 +1,5 @@
---- a/source/Plugins/Process/Linux/Procfs.h
-+++ b/source/Plugins/Process/Linux/Procfs.h
+--- a/lldb/source/Plugins/Process/Linux/Procfs.h
++++ b/lldb/source/Plugins/Process/Linux/Procfs.h
@@ -10,21 +10,12 @@
// sys/procfs.h on Android/Linux for all supported architectures.
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-001-musl.patch b/srcpkgs/llvm12/patches/llvm-001-musl.patch
similarity index 85%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-001-musl.patch
rename to srcpkgs/llvm12/patches/llvm-001-musl.patch
index 0204a89d8af1..f2a3f8d62813 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-001-musl.patch
+++ b/srcpkgs/llvm12/patches/llvm-001-musl.patch
@@ -12,8 +12,8 @@ Subject: [PATCH 3/3] musl
diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h
index 34a8a1e3..1214ece5 100644
---- a/include/llvm/Analysis/TargetLibraryInfo.h
-+++ b/include/llvm/Analysis/TargetLibraryInfo.h
+--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.h
++++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.h
@@ -18,6 +18,15 @@
#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
@@ -32,8 +32,8 @@ index 34a8a1e3..1214ece5 100644
class Triple;
diff --git a/lib/Support/Unix/DynamicLibrary.inc b/lib/Support/Unix/DynamicLibrary.inc
index a2a37996..2f86c470 100644
---- a/lib/Support/Unix/DynamicLibrary.inc
-+++ b/lib/Support/Unix/DynamicLibrary.inc
+--- a/llvm/lib/Support/Unix/DynamicLibrary.inc
++++ b/llvm/lib/Support/Unix/DynamicLibrary.inc
@@ -102,7 +102,7 @@ static void *DoSearch(const char* SymbolName) {
// This macro returns the address of a well-known, explicit symbol
@@ -45,8 +45,8 @@ index a2a37996..2f86c470 100644
// macros and global variables because of standards requirements. So, we
diff --git a/utils/unittest/googletest/src/gtest.cc b/utils/unittest/googletest/src/gtest.cc
index d882ab2e..f1fb12d0 100644
---- a/utils/unittest/googletest/src/gtest.cc
-+++ b/utils/unittest/googletest/src/gtest.cc
+--- a/llvm/utils/unittest/googletest/src/gtest.cc
++++ b/llvm/utils/unittest/googletest/src/gtest.cc
@@ -128,6 +128,7 @@
#if GTEST_CAN_STREAM_RESULTS_
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch b/srcpkgs/llvm12/patches/llvm-002-musl-ppc64-elfv2.patch
similarity index 88%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
rename to srcpkgs/llvm12/patches/llvm-002-musl-ppc64-elfv2.patch
index fb842cf00340..0071d964bd37 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
+++ b/srcpkgs/llvm12/patches/llvm-002-musl-ppc64-elfv2.patch
@@ -4,8 +4,8 @@ on big endian ppc64.
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
index 0634833e..b7cbc2e7 100644
---- a/lib/Target/PowerPC/PPCTargetMachine.cpp
-+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
+--- a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
++++ b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -222,9 +222,8 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT,
switch (TT.getArch()) {
@@ -19,8 +19,8 @@ index 0634833e..b7cbc2e7 100644
}
diff --git a/test/CodeGen/PowerPC/ppc64-elf-abi.ll b/test/CodeGen/PowerPC/ppc64-elf-abi.ll
index 8b1cf6b5..296a2afa 100644
---- a/test/CodeGen/PowerPC/ppc64-elf-abi.ll
-+++ b/test/CodeGen/PowerPC/ppc64-elf-abi.ll
+--- a/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll
++++ b/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll
@@ -1,4 +1,5 @@
-; 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 < %s | FileCheck %s -check-prefix=CHECK-ELFv2
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch b/srcpkgs/llvm12/patches/llvm-003-ppc-secureplt.patch
similarity index 78%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch
rename to srcpkgs/llvm12/patches/llvm-003-ppc-secureplt.patch
index b9e60d5629f9..b5d15974375d 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch
+++ b/srcpkgs/llvm12/patches/llvm-003-ppc-secureplt.patch
@@ -1,5 +1,5 @@
---- llvm/lib/Target/PowerPC/PPCSubtarget.cpp
-+++ llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+--- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
++++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
@@ -165,7 +165,7 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef FS) {
if ((TargetTriple.isOSFreeBSD() && TargetTriple.getOSMajorVersion() >= 13) ||
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-004-override-opt.patch b/srcpkgs/llvm12/patches/llvm-004-override-opt.patch
similarity index 91%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-004-override-opt.patch
rename to srcpkgs/llvm12/patches/llvm-004-override-opt.patch
index 3f5276c3cfdd..51d0e4b31b32 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-004-override-opt.patch
+++ b/srcpkgs/llvm12/patches/llvm-004-override-opt.patch
@@ -1,8 +1,8 @@
This allows us to override the optimization level as not all platforms can
deal with -O3.
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
+--- a/llvm/CMakeLists.txt
++++ b/llvm/CMakeLists.txt
@@ -918,6 +918,12 @@ if( MINGW AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELEASE "-O3" "-O2")
endif()
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch b/srcpkgs/llvm12/patches/llvm-005-ppc-bigpic.patch
similarity index 89%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch
rename to srcpkgs/llvm12/patches/llvm-005-ppc-bigpic.patch
index d0c0cdb06806..d332687b9d92 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch
+++ b/srcpkgs/llvm12/patches/llvm-005-ppc-bigpic.patch
@@ -10,8 +10,8 @@ Subject: [PATCH] [LLVM][PowerPC] Assume BigPIC if no PIC level is specified
diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp
index cce21f32..87ca5f9b 100644
---- a/lib/Target/PowerPC/PPCAsmPrinter.cpp
-+++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp
+--- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
++++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -520,7 +520,7 @@ void PPCAsmPrinter::EmitTlsCall(const MachineInstr *MI,
// Add 32768 offset to the symbol so we follow up the latest GOT/PLT ABI.
@@ -23,8 +23,8 @@ index cce21f32..87ca5f9b 100644
const MachineOperand &MO = MI->getOperand(2);
diff --git a/lib/Target/PowerPC/PPCMCInstLower.cpp b/lib/Target/PowerPC/PPCMCInstLower.cpp
index 5cc180d7..a5b02565 100644
---- a/lib/Target/PowerPC/PPCMCInstLower.cpp
-+++ b/lib/Target/PowerPC/PPCMCInstLower.cpp
+--- a/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
++++ b/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
@@ -117,7 +117,7 @@ static MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol,
const MCExpr *Expr = MCSymbolRefExpr::create(Symbol, RefKind, Ctx);
// If -msecure-plt -fPIC, add 32768 to symbol.
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-006-aarch64-mf_exec.patch b/srcpkgs/llvm12/patches/llvm-006-aarch64-mf_exec.patch
similarity index 95%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-006-aarch64-mf_exec.patch
rename to srcpkgs/llvm12/patches/llvm-006-aarch64-mf_exec.patch
index 098d7484c27a..a00abd216665 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-006-aarch64-mf_exec.patch
+++ b/srcpkgs/llvm12/patches/llvm-006-aarch64-mf_exec.patch
@@ -12,8 +12,8 @@ Fix failures in AllocationTests/MappedMemoryTest.* on aarch64:
Upstream-Issue: https://bugs.llvm.org/show_bug.cgi?id=14278#c10
---- a/lib/Support/Unix/Memory.inc
-+++ b/lib/Support/Unix/Memory.inc
+--- a/llvm/lib/Support/Unix/Memory.inc
++++ b/llvm/lib/Support/Unix/Memory.inc
@@ -58,7 +58,7 @@ static int getPosixProtectionFlags(unsigned Flags) {
return PROT_READ | PROT_WRITE | PROT_EXEC;
case llvm::sys::Memory::MF_EXEC:
diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index 38937f68564f..10e71c99ab37 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -1,27 +1,30 @@
# Template file for 'llvm12'
pkgname=llvm12
version=12.0.0
-revision=2
-wrksrc="llvm-${version}.src"
+revision=3
+wrksrc="llvm-project-{version}.src"
+build_wrksrc=llvm
build_style=cmake
configure_args="
-DCMAKE_BUILD_TYPE=Release -Wno-dev
- -DENABLE_LINKER_BUILD_ID=ON
- -DLLDB_USE_SYSTEM_SIX=ON
+ -DENABLE_LINKER_BUILD_ID=YES
+ -DLLDB_USE_SYSTEM_SIX=YES
-DLIBCXX_CXX_ABI=libcxxabi
- -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
- -DLIBCXXABI_USE_LLVM_UNWINDER=1
- -DLIBOMP_ENABLE_SHARED=ON
- -DLIBOMP_INSTALL_ALIASES=OFF
- -DLLVM_INCLUDE_DOCS=ON
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_SPHINX=ON
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_FFI=ON
+ -DLIBCXX_USE_COMPILER_RT=YES
+ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES
+ -DLIBCXXABI_USE_LLVM_UNWINDER=YES
+ -DLIBCXXABI_USE_COMPILER_RT=YES
+ -DLIBOMP_ENABLE_SHARED=YES
+ -DLIBOMP_INSTALL_ALIASES=NO
+ -DLLVM_INCLUDE_DOCS=YES
+ -DLLVM_BUILD_DOCS=YES
+ -DLLVM_ENABLE_SPHINX=YES
+ -DSPHINX_WARNINGS_AS_ERRORS=NO
+ -DLLVM_INSTALL_UTILS=YES
+ -DLLVM_BUILD_LLVM_DYLIB=YES
+ -DLLVM_LINK_LLVM_DYLIB=YES
+ -DLLVM_ENABLE_RTTI=YES
+ -DLLVM_ENABLE_FFI=YES
-DLLVM_BINUTILS_INCDIR=/usr/include"
hostmakedepends="groff perl python3 zlib-devel libffi-devel swig python3-Sphinx
python3-recommonmark python3-sphinx-automodapi"
@@ -32,28 +35,8 @@ short_desc="Low Level Virtual Machine"
maintainer="q66 <daniel@octaforge.org>"
license="Apache-2.0"
homepage="https://www.llvm.org"
-distfiles="
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/lldb-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/lld-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/clang-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/clang-tools-extra-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/compiler-rt-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libunwind-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxx-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxxabi-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/openmp-${version}.src.tar.xz"
-checksum="
- 49dc47c8697a1a0abd4ee51629a696d7bfe803662f2a7252a3b16fc75f3a8b50
- 14bcc0f55644df1a50ae9830e1f1751a7b3f633fb8605ee50e685a3db0c705ed
- 2cb7d497f3ce33ce8a2c50ad26ec93a8c45f57268d4d96953cd0f25566f753fd
- e26e452e91d4542da3ebbf404f024d3e1cbf103f4cd110c26bf0a19621cca9ed
- ad41e0b527a65ade95c1ba690a5434cefaab4a2daa1be307caaa1e8541fe6d5c
- 85a8cd0a62413eaa0457d8d02f8edac38c4dc0c96c00b09dc550260c23268434
- 9ed2a5b28853f7f58be9d04836ff43d6e4132df5a2c058b690dc3e9d75bd1cf5
- 7dcb75ca4f6aae2c677d128460c48a57398c8b6791b77b74bea7cf9e04e7c3f1
- 6ab8e8cd148a7d5103067e05c36e36ef36e27634fc8e73b5712853c9affe75b1
- eb1b7022a247332114985ed155a8fb632c28ce7c35a476e2c0caf865150f167d"
+distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz"
+checksum="9ed1688943a4402d7c904cc4515798cdb20080066efa010fe7e1f2551b423628"
lib32disabled=yes
python_version=3
@@ -69,6 +52,8 @@ case "$XBPS_TARGET_MACHINE" in
ppc*) configure_args+=" -DCLANG_ENABLE_CLANGD=OFF" ;;
esac
+_enabled_projects="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;libunwind;lld"
+
_lldb_enable=yes
_libomp_enable=no
@@ -85,6 +70,7 @@ subpackages="clang-tools-extra"
# must go before clang
if [ "$_libomp_enable" = "yes" ]; then
+ _enabled_projects+=";openmp"
subpackages+=" libomp libomp-devel"
# because of cmake nonsense referencing libomptarget.so.*
depends+=" libomp>=${version}_${revision}"
@@ -96,152 +82,49 @@ subpackages+=" clang clang-analyzer libclang libclang-cpp
if [ "$_lldb_enable" = "yes" ]; then
# XXX fails to cross compile due to python
+ _enabled_projects+=";lldb"
subpackages+=" lldb lldb-devel"
fi
subpackages+=" lld lld-devel"
-post_patch() {
- # 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}/clang-${version}.src
- for i in ${FILESDIR}/patches/clang/clang-*.patch; do
- msg_normal "Applying $i to clang\n"
- patch -sNp1 -i ${i}
- done
-
- cd ${XBPS_BUILDDIR}/compiler-rt-${version}.src
- for i in ${FILESDIR}/patches/compiler-rt/compiler-rt-*.patch; do
- msg_normal "Applying $i to compiler-rt\n"
- patch -sNp1 -i ${i}
- done
-
- cd ${XBPS_BUILDDIR}/libunwind-${version}.src
- for i in ${FILESDIR}/patches/libunwind/libunwind-*.patch; do
- msg_normal "Applying $i to libunwind\n"
- patch -sNp1 -i ${i}
- done
-
- cd ${XBPS_BUILDDIR}/libcxx-${version}.src
- for i in ${FILESDIR}/patches/libcxx/libcxx-*.patch; do
- msg_normal "Applying $i to libcxx\n"
- patch -sNp1 -i ${i}
- done
+configure_args+=" -DLLVM_ENABLE_PROJECTS=${_enabled_projects}"
+post_patch() {
if [ "$_lldb_enable" = "yes" ]; 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
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
vsed -i 's|__ptrace_request|int|g' \
- source/Plugins/Process/Linux/NativeProcessLinux.cpp
- fi
- fi
-
- # Move clang files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/clang-${version}.src ]; then
- mv ${XBPS_BUILDDIR}/clang-${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
- # https://bugs.llvm.org/show_bug.cgi?id=49228
- mkdir -p ${wrksrc}/tools/lld/include/mach-o
- cp ${XBPS_BUILDDIR}/libunwind-${version}.src/include/mach-o/compact_unwind_encoding.h \
- ${wrksrc}/tools/lld/include/mach-o
- fi
- # Move lldb files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/lldb-${version}.src ]; then
- if [ "$_lldb_enable" = "yes" ]; then
- mv ${XBPS_BUILDDIR}/lldb-${version}.src ${wrksrc}/tools/lldb
- # disable docs for lldb as they fail to generate
- vsed -i '/add_subdirectory(docs)/d' \
- ${wrksrc}/tools/lldb/CMakeLists.txt
- else
- rm -rf ${XBPS_BUILDDIR}/lldb-${version}.src
- fi
- 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
- # Move libunwind files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/libunwind-${version}.src ]; then
- mv ${XBPS_BUILDDIR}/libunwind-${version}.src \
- ${wrksrc}/projects/libunwind
- fi
- # Move libcxx files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/libcxx-${version}.src ]; then
- mv ${XBPS_BUILDDIR}/libcxx-${version}.src \
- ${wrksrc}/projects/libcxx
- fi
- # Move libcxxabi files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/libcxxabi-${version}.src ]; then
- mv ${XBPS_BUILDDIR}/libcxxabi-${version}.src \
- ${wrksrc}/projects/libcxxabi
- fi
- # Move openmp files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/openmp-${version}.src ]; then
- if [ "$_libomp_enable" = "yes" ]; then
- mv ${XBPS_BUILDDIR}/openmp-${version}.src \
- ${wrksrc}/projects/openmp
- else
- rm -rf ${XBPS_BUILDDIR}/openmp-${version}.src
+ ${wrksrc}/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
fi
+ # disable docs for lldb as they fail to generate
+ vsed -i '/add_subdirectory(docs)/d' \
+ ${wrksrc}/lldb/CMakeLists.txt
fi
- # fix early build failure
- vsed -e "/set(model_compiler/s:\${CMAKE_SOURCE_DIR}/\.\./clang-tools-extra/:\${CMAKE_SOURCE_DIR}/tools/clang/tools/extra/:" \
- -i ${wrksrc}/tools/clang/tools/extra/clangd/quality/CompletionModel.cmake
-
# update config.guess for better platform detection
cp $XBPS_COMMONDIR/environment/configure/automake/config.guess \
- ${wrksrc}/cmake
-
- # fix linker failures on some archs
- case "$XBPS_TARGET_MACHINE" in
- ppc64*) ;;
- aarch64*|ppc*|i686*)
- vsed -i 's,check_library_exists(gcc_s .*,set(LIBCXXABI_HAS_GCC_S_LIB ON),' \
- ${wrksrc}/projects/libcxxabi/cmake/config-ix.cmake
- vsed -i 's,check_library_exists(gcc .*,set(LIBCXXABI_HAS_GCC_LIB ON),' \
- ${wrksrc}/projects/libcxxabi/cmake/config-ix.cmake
- ;;
- esac
+ ${wrksrc}/llvm/cmake
# need libssp_nonshared on some musl platforms (because of nodefaultlibs)
case "$XBPS_TARGET_MACHINE" in
ppc64*) ;;
ppc*-musl|i686-musl|mips*-musl)
vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \
- ${wrksrc}/projects/libunwind/src/CMakeLists.txt
+ ${wrksrc}/libunwind/src/CMakeLists.txt
vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \
- ${wrksrc}/projects/libcxxabi/src/CMakeLists.txt
- vsed -i 's,#ssp,,' ${wrksrc}/projects/libcxx/CMakeLists.txt
+ ${wrksrc}/libcxxabi/src/CMakeLists.txt
+ vsed -i 's,#ssp,,' ${wrksrc}/libcxx/CMakeLists.txt
;;
esac
case "$XBPS_TARGET_MACHINE" in
x86_64-musl) # some sanitizer currently only on x86_64 stuff needs backtrace
vsed -i 's,# Set common link flags.,list(APPEND SANITIZER_COMMON_LINK_LIBS execinfo),' \
- ${wrksrc}/projects/compiler-rt/CMakeLists.txt
+ ${wrksrc}/compiler-rt/CMakeLists.txt
;;
arm*-musl) # sanitizer code is broken on arm*-musl since it duplicates some libc bits
vsed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' \
- ${wrksrc}/projects/compiler-rt/cmake/config-ix.cmake
+ ${wrksrc}/compiler-rt/cmake/config-ix.cmake
;;
esac
}
@@ -309,13 +192,15 @@ do_install() {
fi
# Install libcxxabi headers
- vinstall ${wrksrc}/projects/libcxxabi/include/__cxxabi_config.h 644 usr/include
- vinstall ${wrksrc}/projects/libcxxabi/include/cxxabi.h 644 usr/include
+ vinstall ${wrksrc}/libcxxabi/include/__cxxabi_config.h 644 usr/include
+ vinstall ${wrksrc}/libcxxabi/include/cxxabi.h 644 usr/include
# Install libunwind headers
- vinstall ${wrksrc}/projects/libunwind/include/__libunwind_config.h 644 usr/include
- vinstall ${wrksrc}/projects/libunwind/include/libunwind.h 644 usr/include
- vinstall ${wrksrc}/projects/libunwind/include/unwind.h 644 usr/include
+ vinstall ${wrksrc}/libunwind/include/__libunwind_config.h 644 usr/include
+ vinstall ${wrksrc}/libunwind/include/libunwind.h 644 usr/include
+ vinstall ${wrksrc}/libunwind/include/unwind.h 644 usr/include
+ vinstall ${wrksrc}/libunwind/include/mach-o/compact_unwind_encoding.h \
+ 644 usr/include/mach-o
}
clang-analyzer_package() {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PR PATCH] [Updated] llvm12: clean up template, fix libc++ with compiler-rt
2021-06-22 19:23 [PR PATCH] llvm12: clean up template, fix libc++ with compiler-rt q66
@ 2021-06-22 20:09 ` q66
2021-06-22 22:22 ` [PR PATCH] [Closed]: " q66
1 sibling, 0 replies; 3+ messages in thread
From: q66 @ 2021-06-22 20:09 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 357 bytes --]
There is an updated pull request by q66 against master on the void-packages repository
https://github.com/void-ppc/void-packages llvm12-rebuild
https://github.com/void-linux/void-packages/pull/31617
llvm12: clean up template, fix libc++ with compiler-rt
[ci skip]
A patch file from https://github.com/void-linux/void-packages/pull/31617.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-llvm12-rebuild-31617.patch --]
[-- Type: text/x-diff, Size: 36183 bytes --]
From adefaa4eedaf24f81e541ec5e2be4337775bc3f8 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 22 Jun 2021 21:11:13 +0200
Subject: [PATCH] llvm12: clean up template, fix libc++ with compiler-rt
---
...clang-001-fix-unwind-chain-inclusion.patch | 4 +-
.../clang-002-add-musl-triples.patch | 4 +-
.../clang-003-ppc64-dynamic-linker-path.patch | 4 +-
.../clang-004-ppc64-musl-elfv2.patch | 12 +-
.../compiler-rt-aarch64-ucontext.patch | 4 +-
.../compiler-rt-sanitizer-ppc64-musl.patch | 12 +-
.../compiler-rt-size_t.patch | 4 +-
.../compiler-rt-xray-ppc64-musl.patch | 4 +-
.../libcxx => patches}/libcxx-musl.patch | 4 +-
.../libcxx => patches}/libcxx-ppc.patch | 4 +-
.../libcxx-ssp-nonshared.patch | 4 +-
.../libunwind-ppc32.patch | 20 +-
.../musl.patch => patches/lldb-musl.patch} | 4 +-
.../llvm => patches}/llvm-001-musl.patch | 12 +-
.../llvm-002-musl-ppc64-elfv2.patch | 8 +-
.../llvm-003-ppc-secureplt.patch | 4 +-
.../llvm-004-override-opt.patch | 4 +-
.../llvm-005-ppc-bigpic.patch | 8 +-
.../llvm-006-aarch64-mf_exec.patch | 4 +-
srcpkgs/llvm12/template | 207 ++++--------------
20 files changed, 109 insertions(+), 222 deletions(-)
rename srcpkgs/llvm12/{files/patches/clang => patches}/clang-001-fix-unwind-chain-inclusion.patch (94%)
rename srcpkgs/llvm12/{files/patches/clang => patches}/clang-002-add-musl-triples.patch (98%)
rename srcpkgs/llvm12/{files/patches/clang => patches}/clang-003-ppc64-dynamic-linker-path.patch (79%)
rename srcpkgs/llvm12/{files/patches/clang => patches}/clang-004-ppc64-musl-elfv2.patch (86%)
rename srcpkgs/llvm12/{files/patches/compiler-rt => patches}/compiler-rt-aarch64-ucontext.patch (73%)
rename srcpkgs/llvm12/{files/patches/compiler-rt => patches}/compiler-rt-sanitizer-ppc64-musl.patch (67%)
rename srcpkgs/llvm12/{files/patches/compiler-rt => patches}/compiler-rt-size_t.patch (52%)
rename srcpkgs/llvm12/{files/patches/compiler-rt => patches}/compiler-rt-xray-ppc64-musl.patch (93%)
rename srcpkgs/llvm12/{files/patches/libcxx => patches}/libcxx-musl.patch (95%)
rename srcpkgs/llvm12/{files/patches/libcxx => patches}/libcxx-ppc.patch (94%)
rename srcpkgs/llvm12/{files/patches/libcxx => patches}/libcxx-ssp-nonshared.patch (83%)
rename srcpkgs/llvm12/{files/patches/libunwind => patches}/libunwind-ppc32.patch (82%)
rename srcpkgs/llvm12/{files/patches/lldb/musl.patch => patches/lldb-musl.patch} (88%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-001-musl.patch (85%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-002-musl-ppc64-elfv2.patch (88%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-003-ppc-secureplt.patch (78%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-004-override-opt.patch (91%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-005-ppc-bigpic.patch (89%)
rename srcpkgs/llvm12/{files/patches/llvm => patches}/llvm-006-aarch64-mf_exec.patch (95%)
diff --git a/srcpkgs/llvm12/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch b/srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch
similarity index 94%
rename from srcpkgs/llvm12/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
rename to srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch
index 04244bcc2740..e4eaa7783e7a 100644
--- a/srcpkgs/llvm12/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
+++ b/srcpkgs/llvm12/patches/clang-001-fix-unwind-chain-inclusion.patch
@@ -9,8 +9,8 @@ Subject: [PATCH 2/7] fix unwind chain inclusion
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
+--- a/clang/lib/Headers/unwind.h
++++ b/clang/lib/Headers/unwind.h
@@ -9,9 +9,6 @@
/* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/
diff --git a/srcpkgs/llvm12/files/patches/clang/clang-002-add-musl-triples.patch b/srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch
similarity index 98%
rename from srcpkgs/llvm12/files/patches/clang/clang-002-add-musl-triples.patch
rename to srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch
index 6945e7fe79e1..25688d40dbc2 100644
--- a/srcpkgs/llvm12/files/patches/clang/clang-002-add-musl-triples.patch
+++ b/srcpkgs/llvm12/patches/clang-002-add-musl-triples.patch
@@ -1,5 +1,5 @@
---- a/lib/Driver/ToolChains/Gnu.cpp
-+++ b/lib/Driver/ToolChains/Gnu.cpp
+--- a/clang/lib/Driver/ToolChains/Gnu.cpp
++++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -2086,7 +2086,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
"armv7hl-redhat-linux-gnueabi",
diff --git a/srcpkgs/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch
similarity index 79%
rename from srcpkgs/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
rename to srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch
index afc0810f48de..4ad6412d1e6c 100644
--- a/srcpkgs/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
+++ b/srcpkgs/llvm12/patches/clang-003-ppc64-dynamic-linker-path.patch
@@ -1,5 +1,5 @@
---- a/lib/Driver/ToolChains/Linux.cpp
-+++ b/lib/Driver/ToolChains/Linux.cpp
+--- a/clang/lib/Driver/ToolChains/Linux.cpp
++++ b/clang/lib/Driver/ToolChains/Linux.cpp
@@ -504,10 +504,6 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
Loader = "ld.so.1";
break;
diff --git a/srcpkgs/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch b/srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch
similarity index 86%
rename from srcpkgs/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
rename to srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch
index 912094e5535c..21fc8003c5f1 100644
--- a/srcpkgs/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
+++ b/srcpkgs/llvm12/patches/clang-004-ppc64-musl-elfv2.patch
@@ -1,5 +1,5 @@
---- a/lib/Basic/Targets/PPC.h
-+++ b/lib/Basic/Targets/PPC.h
+--- a/clang/lib/Basic/Targets/PPC.h
++++ b/clang/lib/Basic/Targets/PPC.h
@@ -415,11 +415,10 @@ public:
LongDoubleFormat = &llvm::APFloat::IEEEdouble();
} else if ((Triple.getArch() == llvm::Triple::ppc64le)) {
@@ -13,8 +13,8 @@
if (Triple.isOSFreeBSD() || Triple.isOSOpenBSD() || Triple.isMusl()) {
LongDoubleWidth = LongDoubleAlign = 64;
---- a/lib/CodeGen/TargetInfo.cpp
-+++ b/lib/CodeGen/TargetInfo.cpp
+--- a/clang/lib/CodeGen/TargetInfo.cpp
++++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -10927,9 +10927,9 @@ const TargetCodeGenInfo &CodeGenModule::getTargetCodeGenInfo() {
return SetCGInfo(new AIXTargetCodeGenInfo(Types, /*Is64Bit*/ true));
@@ -28,8 +28,8 @@
bool IsSoftFloat = CodeGenOpts.FloatABI == "soft";
return SetCGInfo(
---- a/lib/Driver/ToolChains/Clang.cpp
-+++ b/lib/Driver/ToolChains/Clang.cpp
+--- a/clang/lib/Driver/ToolChains/Clang.cpp
++++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -1920,14 +1920,7 @@ void Clang::AddPPCTargetArgs(const ArgList &Args,
const llvm::Triple &T = getToolChain().getTriple();
if (T.isOSBinFormatELF()) {
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch b/srcpkgs/llvm12/patches/compiler-rt-aarch64-ucontext.patch
similarity index 73%
rename from srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch
rename to srcpkgs/llvm12/patches/compiler-rt-aarch64-ucontext.patch
index 49689ca01a60..893c059d7b8d 100644
--- a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch
+++ b/srcpkgs/llvm12/patches/compiler-rt-aarch64-ucontext.patch
@@ -1,5 +1,5 @@
---- compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp.orig
-+++ compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp.orig
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
@@ -1799,7 +1799,7 @@
static bool Aarch64GetESR(ucontext_t *ucontext, u64 *esr) {
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch b/srcpkgs/llvm12/patches/compiler-rt-sanitizer-ppc64-musl.patch
similarity index 67%
rename from srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch
rename to srcpkgs/llvm12/patches/compiler-rt-sanitizer-ppc64-musl.patch
index a776e823de1a..35f16d24f340 100644
--- a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch
+++ b/srcpkgs/llvm12/patches/compiler-rt-sanitizer-ppc64-musl.patch
@@ -1,5 +1,5 @@
---- a/lib/sanitizer_common/sanitizer_linux.cpp
-+++ b/lib/sanitizer_common/sanitizer_linux.cpp
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
@@ -74,6 +74,10 @@
#include <sys/utsname.h>
#endif
@@ -11,8 +11,8 @@
#if SANITIZER_LINUX && !SANITIZER_ANDROID
#include <sys/personality.h>
#endif
---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
@@ -92,7 +92,7 @@
# include <utime.h>
# include <sys/ptrace.h>
@@ -22,8 +22,8 @@
# include <asm/ptrace.h>
# ifdef __arm__
typedef struct user_fpregs elf_fpregset_t;
---- a/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
-+++ b/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
@@ -31,7 +31,7 @@
#include <sys/types.h> // for pid_t
#include <sys/uio.h> // for iovec
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch b/srcpkgs/llvm12/patches/compiler-rt-size_t.patch
similarity index 52%
rename from srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch
rename to srcpkgs/llvm12/patches/compiler-rt-size_t.patch
index 2c943d924705..2c63063a5e9e 100644
--- a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch
+++ b/srcpkgs/llvm12/patches/compiler-rt-size_t.patch
@@ -1,5 +1,5 @@
---- compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp.orig
-+++ compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp
+--- a/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp.orig
++++ b/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp
@@ -25,6 +25,7 @@
}
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch b/srcpkgs/llvm12/patches/compiler-rt-xray-ppc64-musl.patch
similarity index 93%
rename from srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
rename to srcpkgs/llvm12/patches/compiler-rt-xray-ppc64-musl.patch
index 6db37ce06f76..d0b61c80c897 100644
--- a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
+++ b/srcpkgs/llvm12/patches/compiler-rt-xray-ppc64-musl.patch
@@ -1,5 +1,5 @@
---- a/lib/xray/xray_powerpc64.inc
-+++ b/lib/xray/xray_powerpc64.inc
+--- a/compiler-rt/lib/xray/xray_powerpc64.inc
++++ b/compiler-rt/lib/xray/xray_powerpc64.inc
@@ -12,7 +12,13 @@
#include <cstdint>
diff --git a/srcpkgs/llvm12/files/patches/libcxx/libcxx-musl.patch b/srcpkgs/llvm12/patches/libcxx-musl.patch
similarity index 95%
rename from srcpkgs/llvm12/files/patches/libcxx/libcxx-musl.patch
rename to srcpkgs/llvm12/patches/libcxx-musl.patch
index f6068f7d4405..bbd31ffc2cb1 100644
--- a/srcpkgs/llvm12/files/patches/libcxx/libcxx-musl.patch
+++ b/srcpkgs/llvm12/patches/libcxx-musl.patch
@@ -1,5 +1,5 @@
---- a/include/locale
-+++ b/include/locale
+--- a/libcxx/include/locale
++++ b/libcxx/include/locale
@@ -742,7 +742,11 @@ __num_get_signed_integral(const char* __a, const char* __a_end,
typename remove_reference<decltype(errno)>::type __save_errno = errno;
errno = 0;
diff --git a/srcpkgs/llvm12/files/patches/libcxx/libcxx-ppc.patch b/srcpkgs/llvm12/patches/libcxx-ppc.patch
similarity index 94%
rename from srcpkgs/llvm12/files/patches/libcxx/libcxx-ppc.patch
rename to srcpkgs/llvm12/patches/libcxx-ppc.patch
index b1a7bab499fc..7a92f8004e1c 100644
--- a/srcpkgs/llvm12/files/patches/libcxx/libcxx-ppc.patch
+++ b/srcpkgs/llvm12/patches/libcxx-ppc.patch
@@ -2,8 +2,8 @@ This ensures `is_iec559` is defined correctly under all long double ABIs,
including musl and its 64-bit long double. Also, `__ppc__` or `__ppc64__`
is not defined on gcc.
---- a/include/limits
-+++ b/include/limits
+--- a/libcxx/include/limits
++++ b/libcxx/include/limits
@@ -426,8 +426,14 @@ protected:
_LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nansl("");}
_LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __LDBL_DENORM_MIN__;}
diff --git a/srcpkgs/llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch b/srcpkgs/llvm12/patches/libcxx-ssp-nonshared.patch
similarity index 83%
rename from srcpkgs/llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch
rename to srcpkgs/llvm12/patches/libcxx-ssp-nonshared.patch
index 86ce396959d2..70292beb2fcd 100644
--- a/srcpkgs/llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch
+++ b/srcpkgs/llvm12/patches/libcxx-ssp-nonshared.patch
@@ -1,5 +1,5 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
+--- a/libcxx/CMakeLists.txt
++++ b/libcxx/CMakeLists.txt
@@ -769,6 +769,8 @@ function(cxx_link_system_libraries target)
target_link_libraries(${target} PRIVATE atomic)
endif()
diff --git a/srcpkgs/llvm12/files/patches/libunwind/libunwind-ppc32.patch b/srcpkgs/llvm12/patches/libunwind-ppc32.patch
similarity index 82%
rename from srcpkgs/llvm12/files/patches/libunwind/libunwind-ppc32.patch
rename to srcpkgs/llvm12/patches/libunwind-ppc32.patch
index 08fdb9915311..74aa7576ecf9 100644
--- a/srcpkgs/llvm12/files/patches/libunwind/libunwind-ppc32.patch
+++ b/srcpkgs/llvm12/patches/libunwind-ppc32.patch
@@ -1,7 +1,7 @@
This fixes build at least with gcc9 which does not define `__ppc__`.
---- a/include/__libunwind_config.h
-+++ b/include/__libunwind_config.h
+--- a/libunwind/include/__libunwind_config.h
++++ b/libunwind/include/__libunwind_config.h
@@ -49,7 +49,7 @@
# define _LIBUNWIND_CONTEXT_SIZE 167
# define _LIBUNWIND_CURSOR_SIZE 179
@@ -11,8 +11,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
# define _LIBUNWIND_TARGET_PPC 1
# define _LIBUNWIND_CONTEXT_SIZE 117
# define _LIBUNWIND_CURSOR_SIZE 124
---- a/src/UnwindRegistersRestore.S
-+++ b/src/UnwindRegistersRestore.S
+--- a/libunwind/src/UnwindRegistersRestore.S
++++ b/libunwind/src/UnwindRegistersRestore.S
@@ -392,7 +392,7 @@ Lnovec:
PPC64_LR(3)
bctr
@@ -22,8 +22,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind13Registers_ppc6jumptoEv)
//
---- a/src/UnwindRegistersSave.S
-+++ b/src/UnwindRegistersSave.S
+--- a/libunwind/src/UnwindRegistersSave.S
++++ b/libunwind/src/UnwindRegistersSave.S
@@ -554,7 +554,7 @@ DEFINE_LIBUNWIND_FUNCTION(__unw_getcontext)
blr
@@ -33,8 +33,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
//
// extern int unw_getcontext(unw_context_t* thread_state)
---- a/src/config.h
-+++ b/src/config.h
+--- a/libunwind/src/config.h
++++ b/libunwind/src/config.h
@@ -95,12 +95,12 @@
#define _LIBUNWIND_BUILD_SJLJ_APIS
#endif
@@ -50,8 +50,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
(!defined(__APPLE__) && defined(__arm__)) || \
(defined(__arm64__) || defined(__aarch64__)) || \
defined(__mips__)
---- a/src/libunwind.cpp
-+++ b/src/libunwind.cpp
+--- a/libunwind/src/libunwind.cpp
++++ b/libunwind/src/libunwind.cpp
@@ -42,7 +42,7 @@ _LIBUNWIND_HIDDEN int __unw_init_local(unw_cursor_t *cursor,
# define REGISTER_KIND Registers_x86_64
#elif defined(__powerpc64__)
diff --git a/srcpkgs/llvm12/files/patches/lldb/musl.patch b/srcpkgs/llvm12/patches/lldb-musl.patch
similarity index 88%
rename from srcpkgs/llvm12/files/patches/lldb/musl.patch
rename to srcpkgs/llvm12/patches/lldb-musl.patch
index 37416bb478df..601c0d138523 100644
--- a/srcpkgs/llvm12/files/patches/lldb/musl.patch
+++ b/srcpkgs/llvm12/patches/lldb-musl.patch
@@ -1,5 +1,5 @@
---- a/source/Plugins/Process/Linux/Procfs.h
-+++ b/source/Plugins/Process/Linux/Procfs.h
+--- a/lldb/source/Plugins/Process/Linux/Procfs.h
++++ b/lldb/source/Plugins/Process/Linux/Procfs.h
@@ -10,21 +10,12 @@
// sys/procfs.h on Android/Linux for all supported architectures.
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-001-musl.patch b/srcpkgs/llvm12/patches/llvm-001-musl.patch
similarity index 85%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-001-musl.patch
rename to srcpkgs/llvm12/patches/llvm-001-musl.patch
index 0204a89d8af1..f2a3f8d62813 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-001-musl.patch
+++ b/srcpkgs/llvm12/patches/llvm-001-musl.patch
@@ -12,8 +12,8 @@ Subject: [PATCH 3/3] musl
diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h
index 34a8a1e3..1214ece5 100644
---- a/include/llvm/Analysis/TargetLibraryInfo.h
-+++ b/include/llvm/Analysis/TargetLibraryInfo.h
+--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.h
++++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.h
@@ -18,6 +18,15 @@
#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
@@ -32,8 +32,8 @@ index 34a8a1e3..1214ece5 100644
class Triple;
diff --git a/lib/Support/Unix/DynamicLibrary.inc b/lib/Support/Unix/DynamicLibrary.inc
index a2a37996..2f86c470 100644
---- a/lib/Support/Unix/DynamicLibrary.inc
-+++ b/lib/Support/Unix/DynamicLibrary.inc
+--- a/llvm/lib/Support/Unix/DynamicLibrary.inc
++++ b/llvm/lib/Support/Unix/DynamicLibrary.inc
@@ -102,7 +102,7 @@ static void *DoSearch(const char* SymbolName) {
// This macro returns the address of a well-known, explicit symbol
@@ -45,8 +45,8 @@ index a2a37996..2f86c470 100644
// macros and global variables because of standards requirements. So, we
diff --git a/utils/unittest/googletest/src/gtest.cc b/utils/unittest/googletest/src/gtest.cc
index d882ab2e..f1fb12d0 100644
---- a/utils/unittest/googletest/src/gtest.cc
-+++ b/utils/unittest/googletest/src/gtest.cc
+--- a/llvm/utils/unittest/googletest/src/gtest.cc
++++ b/llvm/utils/unittest/googletest/src/gtest.cc
@@ -128,6 +128,7 @@
#if GTEST_CAN_STREAM_RESULTS_
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch b/srcpkgs/llvm12/patches/llvm-002-musl-ppc64-elfv2.patch
similarity index 88%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
rename to srcpkgs/llvm12/patches/llvm-002-musl-ppc64-elfv2.patch
index fb842cf00340..0071d964bd37 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
+++ b/srcpkgs/llvm12/patches/llvm-002-musl-ppc64-elfv2.patch
@@ -4,8 +4,8 @@ on big endian ppc64.
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
index 0634833e..b7cbc2e7 100644
---- a/lib/Target/PowerPC/PPCTargetMachine.cpp
-+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
+--- a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
++++ b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -222,9 +222,8 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT,
switch (TT.getArch()) {
@@ -19,8 +19,8 @@ index 0634833e..b7cbc2e7 100644
}
diff --git a/test/CodeGen/PowerPC/ppc64-elf-abi.ll b/test/CodeGen/PowerPC/ppc64-elf-abi.ll
index 8b1cf6b5..296a2afa 100644
---- a/test/CodeGen/PowerPC/ppc64-elf-abi.ll
-+++ b/test/CodeGen/PowerPC/ppc64-elf-abi.ll
+--- a/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll
++++ b/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll
@@ -1,4 +1,5 @@
-; 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 < %s | FileCheck %s -check-prefix=CHECK-ELFv2
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch b/srcpkgs/llvm12/patches/llvm-003-ppc-secureplt.patch
similarity index 78%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch
rename to srcpkgs/llvm12/patches/llvm-003-ppc-secureplt.patch
index b9e60d5629f9..b5d15974375d 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch
+++ b/srcpkgs/llvm12/patches/llvm-003-ppc-secureplt.patch
@@ -1,5 +1,5 @@
---- llvm/lib/Target/PowerPC/PPCSubtarget.cpp
-+++ llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+--- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
++++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
@@ -165,7 +165,7 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef FS) {
if ((TargetTriple.isOSFreeBSD() && TargetTriple.getOSMajorVersion() >= 13) ||
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-004-override-opt.patch b/srcpkgs/llvm12/patches/llvm-004-override-opt.patch
similarity index 91%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-004-override-opt.patch
rename to srcpkgs/llvm12/patches/llvm-004-override-opt.patch
index 3f5276c3cfdd..51d0e4b31b32 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-004-override-opt.patch
+++ b/srcpkgs/llvm12/patches/llvm-004-override-opt.patch
@@ -1,8 +1,8 @@
This allows us to override the optimization level as not all platforms can
deal with -O3.
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
+--- a/llvm/CMakeLists.txt
++++ b/llvm/CMakeLists.txt
@@ -918,6 +918,12 @@ if( MINGW AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELEASE "-O3" "-O2")
endif()
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch b/srcpkgs/llvm12/patches/llvm-005-ppc-bigpic.patch
similarity index 89%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch
rename to srcpkgs/llvm12/patches/llvm-005-ppc-bigpic.patch
index d0c0cdb06806..d332687b9d92 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch
+++ b/srcpkgs/llvm12/patches/llvm-005-ppc-bigpic.patch
@@ -10,8 +10,8 @@ Subject: [PATCH] [LLVM][PowerPC] Assume BigPIC if no PIC level is specified
diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp
index cce21f32..87ca5f9b 100644
---- a/lib/Target/PowerPC/PPCAsmPrinter.cpp
-+++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp
+--- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
++++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -520,7 +520,7 @@ void PPCAsmPrinter::EmitTlsCall(const MachineInstr *MI,
// Add 32768 offset to the symbol so we follow up the latest GOT/PLT ABI.
@@ -23,8 +23,8 @@ index cce21f32..87ca5f9b 100644
const MachineOperand &MO = MI->getOperand(2);
diff --git a/lib/Target/PowerPC/PPCMCInstLower.cpp b/lib/Target/PowerPC/PPCMCInstLower.cpp
index 5cc180d7..a5b02565 100644
---- a/lib/Target/PowerPC/PPCMCInstLower.cpp
-+++ b/lib/Target/PowerPC/PPCMCInstLower.cpp
+--- a/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
++++ b/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
@@ -117,7 +117,7 @@ static MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol,
const MCExpr *Expr = MCSymbolRefExpr::create(Symbol, RefKind, Ctx);
// If -msecure-plt -fPIC, add 32768 to symbol.
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-006-aarch64-mf_exec.patch b/srcpkgs/llvm12/patches/llvm-006-aarch64-mf_exec.patch
similarity index 95%
rename from srcpkgs/llvm12/files/patches/llvm/llvm-006-aarch64-mf_exec.patch
rename to srcpkgs/llvm12/patches/llvm-006-aarch64-mf_exec.patch
index 098d7484c27a..a00abd216665 100644
--- a/srcpkgs/llvm12/files/patches/llvm/llvm-006-aarch64-mf_exec.patch
+++ b/srcpkgs/llvm12/patches/llvm-006-aarch64-mf_exec.patch
@@ -12,8 +12,8 @@ Fix failures in AllocationTests/MappedMemoryTest.* on aarch64:
Upstream-Issue: https://bugs.llvm.org/show_bug.cgi?id=14278#c10
---- a/lib/Support/Unix/Memory.inc
-+++ b/lib/Support/Unix/Memory.inc
+--- a/llvm/lib/Support/Unix/Memory.inc
++++ b/llvm/lib/Support/Unix/Memory.inc
@@ -58,7 +58,7 @@ static int getPosixProtectionFlags(unsigned Flags) {
return PROT_READ | PROT_WRITE | PROT_EXEC;
case llvm::sys::Memory::MF_EXEC:
diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index 38937f68564f..0a9ed61bd66a 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -1,27 +1,32 @@
# Template file for 'llvm12'
pkgname=llvm12
version=12.0.0
-revision=2
-wrksrc="llvm-${version}.src"
+revision=3
+wrksrc="llvm-project-${version}.src"
+build_wrksrc=llvm
build_style=cmake
+# use static libcxxabi unwinder to prevent potential conflicts
configure_args="
-DCMAKE_BUILD_TYPE=Release -Wno-dev
- -DENABLE_LINKER_BUILD_ID=ON
- -DLLDB_USE_SYSTEM_SIX=ON
+ -DENABLE_LINKER_BUILD_ID=YES
+ -DLLDB_USE_SYSTEM_SIX=YES
-DLIBCXX_CXX_ABI=libcxxabi
- -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
- -DLIBCXXABI_USE_LLVM_UNWINDER=1
- -DLIBOMP_ENABLE_SHARED=ON
- -DLIBOMP_INSTALL_ALIASES=OFF
- -DLLVM_INCLUDE_DOCS=ON
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_SPHINX=ON
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- -DLLVM_INSTALL_UTILS=ON
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_FFI=ON
+ -DLIBCXX_USE_COMPILER_RT=YES
+ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES
+ -DLIBCXXABI_USE_LLVM_UNWINDER=YES
+ -DLIBCXXABI_ENABLE_STATIC_UNWINDER=YES
+ -DLIBCXXABI_USE_COMPILER_RT=YES
+ -DLIBOMP_ENABLE_SHARED=YES
+ -DLIBOMP_INSTALL_ALIASES=NO
+ -DLLVM_INCLUDE_DOCS=YES
+ -DLLVM_BUILD_DOCS=YES
+ -DLLVM_ENABLE_SPHINX=YES
+ -DSPHINX_WARNINGS_AS_ERRORS=NO
+ -DLLVM_INSTALL_UTILS=YES
+ -DLLVM_BUILD_LLVM_DYLIB=YES
+ -DLLVM_LINK_LLVM_DYLIB=YES
+ -DLLVM_ENABLE_RTTI=YES
+ -DLLVM_ENABLE_FFI=YES
-DLLVM_BINUTILS_INCDIR=/usr/include"
hostmakedepends="groff perl python3 zlib-devel libffi-devel swig python3-Sphinx
python3-recommonmark python3-sphinx-automodapi"
@@ -32,28 +37,8 @@ short_desc="Low Level Virtual Machine"
maintainer="q66 <daniel@octaforge.org>"
license="Apache-2.0"
homepage="https://www.llvm.org"
-distfiles="
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/lldb-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/lld-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/clang-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/clang-tools-extra-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/compiler-rt-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libunwind-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxx-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxxabi-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/openmp-${version}.src.tar.xz"
-checksum="
- 49dc47c8697a1a0abd4ee51629a696d7bfe803662f2a7252a3b16fc75f3a8b50
- 14bcc0f55644df1a50ae9830e1f1751a7b3f633fb8605ee50e685a3db0c705ed
- 2cb7d497f3ce33ce8a2c50ad26ec93a8c45f57268d4d96953cd0f25566f753fd
- e26e452e91d4542da3ebbf404f024d3e1cbf103f4cd110c26bf0a19621cca9ed
- ad41e0b527a65ade95c1ba690a5434cefaab4a2daa1be307caaa1e8541fe6d5c
- 85a8cd0a62413eaa0457d8d02f8edac38c4dc0c96c00b09dc550260c23268434
- 9ed2a5b28853f7f58be9d04836ff43d6e4132df5a2c058b690dc3e9d75bd1cf5
- 7dcb75ca4f6aae2c677d128460c48a57398c8b6791b77b74bea7cf9e04e7c3f1
- 6ab8e8cd148a7d5103067e05c36e36ef36e27634fc8e73b5712853c9affe75b1
- eb1b7022a247332114985ed155a8fb632c28ce7c35a476e2c0caf865150f167d"
+distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz"
+checksum="9ed1688943a4402d7c904cc4515798cdb20080066efa010fe7e1f2551b423628"
lib32disabled=yes
python_version=3
@@ -69,6 +54,8 @@ case "$XBPS_TARGET_MACHINE" in
ppc*) configure_args+=" -DCLANG_ENABLE_CLANGD=OFF" ;;
esac
+_enabled_projects="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;libunwind;lld"
+
_lldb_enable=yes
_libomp_enable=no
@@ -85,6 +72,7 @@ subpackages="clang-tools-extra"
# must go before clang
if [ "$_libomp_enable" = "yes" ]; then
+ _enabled_projects+=";openmp"
subpackages+=" libomp libomp-devel"
# because of cmake nonsense referencing libomptarget.so.*
depends+=" libomp>=${version}_${revision}"
@@ -96,152 +84,49 @@ subpackages+=" clang clang-analyzer libclang libclang-cpp
if [ "$_lldb_enable" = "yes" ]; then
# XXX fails to cross compile due to python
+ _enabled_projects+=";lldb"
subpackages+=" lldb lldb-devel"
fi
subpackages+=" lld lld-devel"
-post_patch() {
- # 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}/clang-${version}.src
- for i in ${FILESDIR}/patches/clang/clang-*.patch; do
- msg_normal "Applying $i to clang\n"
- patch -sNp1 -i ${i}
- done
-
- cd ${XBPS_BUILDDIR}/compiler-rt-${version}.src
- for i in ${FILESDIR}/patches/compiler-rt/compiler-rt-*.patch; do
- msg_normal "Applying $i to compiler-rt\n"
- patch -sNp1 -i ${i}
- done
-
- cd ${XBPS_BUILDDIR}/libunwind-${version}.src
- for i in ${FILESDIR}/patches/libunwind/libunwind-*.patch; do
- msg_normal "Applying $i to libunwind\n"
- patch -sNp1 -i ${i}
- done
-
- cd ${XBPS_BUILDDIR}/libcxx-${version}.src
- for i in ${FILESDIR}/patches/libcxx/libcxx-*.patch; do
- msg_normal "Applying $i to libcxx\n"
- patch -sNp1 -i ${i}
- done
+configure_args+=" -DLLVM_ENABLE_PROJECTS=${_enabled_projects}"
+post_patch() {
if [ "$_lldb_enable" = "yes" ]; 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
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
vsed -i 's|__ptrace_request|int|g' \
- source/Plugins/Process/Linux/NativeProcessLinux.cpp
- fi
- fi
-
- # Move clang files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/clang-${version}.src ]; then
- mv ${XBPS_BUILDDIR}/clang-${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
- # https://bugs.llvm.org/show_bug.cgi?id=49228
- mkdir -p ${wrksrc}/tools/lld/include/mach-o
- cp ${XBPS_BUILDDIR}/libunwind-${version}.src/include/mach-o/compact_unwind_encoding.h \
- ${wrksrc}/tools/lld/include/mach-o
- fi
- # Move lldb files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/lldb-${version}.src ]; then
- if [ "$_lldb_enable" = "yes" ]; then
- mv ${XBPS_BUILDDIR}/lldb-${version}.src ${wrksrc}/tools/lldb
- # disable docs for lldb as they fail to generate
- vsed -i '/add_subdirectory(docs)/d' \
- ${wrksrc}/tools/lldb/CMakeLists.txt
- else
- rm -rf ${XBPS_BUILDDIR}/lldb-${version}.src
- fi
- 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
- # Move libunwind files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/libunwind-${version}.src ]; then
- mv ${XBPS_BUILDDIR}/libunwind-${version}.src \
- ${wrksrc}/projects/libunwind
- fi
- # Move libcxx files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/libcxx-${version}.src ]; then
- mv ${XBPS_BUILDDIR}/libcxx-${version}.src \
- ${wrksrc}/projects/libcxx
- fi
- # Move libcxxabi files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/libcxxabi-${version}.src ]; then
- mv ${XBPS_BUILDDIR}/libcxxabi-${version}.src \
- ${wrksrc}/projects/libcxxabi
- fi
- # Move openmp files into the llvm source.
- if [ -d ${XBPS_BUILDDIR}/openmp-${version}.src ]; then
- if [ "$_libomp_enable" = "yes" ]; then
- mv ${XBPS_BUILDDIR}/openmp-${version}.src \
- ${wrksrc}/projects/openmp
- else
- rm -rf ${XBPS_BUILDDIR}/openmp-${version}.src
+ ${wrksrc}/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
fi
+ # disable docs for lldb as they fail to generate
+ vsed -i '/add_subdirectory(docs)/d' \
+ ${wrksrc}/lldb/CMakeLists.txt
fi
- # fix early build failure
- vsed -e "/set(model_compiler/s:\${CMAKE_SOURCE_DIR}/\.\./clang-tools-extra/:\${CMAKE_SOURCE_DIR}/tools/clang/tools/extra/:" \
- -i ${wrksrc}/tools/clang/tools/extra/clangd/quality/CompletionModel.cmake
-
# update config.guess for better platform detection
cp $XBPS_COMMONDIR/environment/configure/automake/config.guess \
- ${wrksrc}/cmake
-
- # fix linker failures on some archs
- case "$XBPS_TARGET_MACHINE" in
- ppc64*) ;;
- aarch64*|ppc*|i686*)
- vsed -i 's,check_library_exists(gcc_s .*,set(LIBCXXABI_HAS_GCC_S_LIB ON),' \
- ${wrksrc}/projects/libcxxabi/cmake/config-ix.cmake
- vsed -i 's,check_library_exists(gcc .*,set(LIBCXXABI_HAS_GCC_LIB ON),' \
- ${wrksrc}/projects/libcxxabi/cmake/config-ix.cmake
- ;;
- esac
+ ${wrksrc}/llvm/cmake
# need libssp_nonshared on some musl platforms (because of nodefaultlibs)
case "$XBPS_TARGET_MACHINE" in
ppc64*) ;;
ppc*-musl|i686-musl|mips*-musl)
vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \
- ${wrksrc}/projects/libunwind/src/CMakeLists.txt
+ ${wrksrc}/libunwind/src/CMakeLists.txt
vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \
- ${wrksrc}/projects/libcxxabi/src/CMakeLists.txt
- vsed -i 's,#ssp,,' ${wrksrc}/projects/libcxx/CMakeLists.txt
+ ${wrksrc}/libcxxabi/src/CMakeLists.txt
+ vsed -i 's,#ssp,,' ${wrksrc}/libcxx/CMakeLists.txt
;;
esac
case "$XBPS_TARGET_MACHINE" in
x86_64-musl) # some sanitizer currently only on x86_64 stuff needs backtrace
vsed -i 's,# Set common link flags.,list(APPEND SANITIZER_COMMON_LINK_LIBS execinfo),' \
- ${wrksrc}/projects/compiler-rt/CMakeLists.txt
+ ${wrksrc}/compiler-rt/CMakeLists.txt
;;
arm*-musl) # sanitizer code is broken on arm*-musl since it duplicates some libc bits
vsed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' \
- ${wrksrc}/projects/compiler-rt/cmake/config-ix.cmake
+ ${wrksrc}/compiler-rt/cmake/config-ix.cmake
;;
esac
}
@@ -309,13 +194,15 @@ do_install() {
fi
# Install libcxxabi headers
- vinstall ${wrksrc}/projects/libcxxabi/include/__cxxabi_config.h 644 usr/include
- vinstall ${wrksrc}/projects/libcxxabi/include/cxxabi.h 644 usr/include
+ vinstall ${wrksrc}/libcxxabi/include/__cxxabi_config.h 644 usr/include
+ vinstall ${wrksrc}/libcxxabi/include/cxxabi.h 644 usr/include
# Install libunwind headers
- vinstall ${wrksrc}/projects/libunwind/include/__libunwind_config.h 644 usr/include
- vinstall ${wrksrc}/projects/libunwind/include/libunwind.h 644 usr/include
- vinstall ${wrksrc}/projects/libunwind/include/unwind.h 644 usr/include
+ vinstall ${wrksrc}/libunwind/include/__libunwind_config.h 644 usr/include
+ vinstall ${wrksrc}/libunwind/include/libunwind.h 644 usr/include
+ vinstall ${wrksrc}/libunwind/include/unwind.h 644 usr/include
+ vinstall ${wrksrc}/libunwind/include/mach-o/compact_unwind_encoding.h \
+ 644 usr/include/mach-o
}
clang-analyzer_package() {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PR PATCH] [Closed]: llvm12: clean up template, fix libc++ with compiler-rt
2021-06-22 19:23 [PR PATCH] llvm12: clean up template, fix libc++ with compiler-rt q66
2021-06-22 20:09 ` [PR PATCH] [Updated] " q66
@ 2021-06-22 22:22 ` q66
1 sibling, 0 replies; 3+ messages in thread
From: q66 @ 2021-06-22 22:22 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 197 bytes --]
There's a closed pull request on the void-packages repository
llvm12: clean up template, fix libc++ with compiler-rt
https://github.com/void-linux/void-packages/pull/31617
Description:
[ci skip]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-06-22 22:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-22 19:23 [PR PATCH] llvm12: clean up template, fix libc++ with compiler-rt q66
2021-06-22 20:09 ` [PR PATCH] [Updated] " q66
2021-06-22 22:22 ` [PR PATCH] [Closed]: " q66
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).