From b84944c243c9c2043949773cd7ae3dbf7e49ab85 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Fri, 2 Sep 2016 23:41:56 +0200 Subject: [PATCH] llvm: update to 3.9.0. --- common/shlibs | 1 + srcpkgs/{libllvm3.8 => libllvm3.9} | 0 .../cfe-005-fix-dynamic-linker-paths.patch | 54 ------------ .../llvm/files/patches/lldb/zzz-aarch64.patch | 15 ---- .../patches/llvm/llvm-002-musl-triple.patch | 88 ------------------- srcpkgs/llvm/template | 24 ++--- 6 files changed, 13 insertions(+), 169 deletions(-) rename srcpkgs/{libllvm3.8 => libllvm3.9} (100%) delete mode 100644 srcpkgs/llvm/files/patches/cfe/cfe-005-fix-dynamic-linker-paths.patch delete mode 100644 srcpkgs/llvm/files/patches/llvm/llvm-002-musl-triple.patch diff --git a/common/shlibs b/common/shlibs index 59361420691..ba3432d9591 100644 --- a/common/shlibs +++ b/common/shlibs @@ -961,6 +961,7 @@ libLLVM-3.7.so libllvm3.7-3.7.0_1 libLLVM-3.7.1.so libllvm3.7-3.7.1_1 libLLVM-3.8.so libllvm3.8-3.8.0_1 libLLVM-3.8.1.so libllvm3.8-3.8.1_1 +libLLVM-3.9.so libllvm3.9-3.9.0_1 libisofs.so.6 libisofs-0.6.24_1 libbfd-2.22.so binutils-2.22_1<2.23_1 libopcodes-2.22.so binutils-2.22_1<2.23_1 diff --git a/srcpkgs/libllvm3.8 b/srcpkgs/libllvm3.9 similarity index 100% rename from srcpkgs/libllvm3.8 rename to srcpkgs/libllvm3.9 diff --git a/srcpkgs/llvm/files/patches/cfe/cfe-005-fix-dynamic-linker-paths.patch b/srcpkgs/llvm/files/patches/cfe/cfe-005-fix-dynamic-linker-paths.patch deleted file mode 100644 index df2848917b2..00000000000 --- a/srcpkgs/llvm/files/patches/cfe/cfe-005-fix-dynamic-linker-paths.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- cfe-3.8.0.src/lib/Driver/Tools.cpp.orig -+++ cfe-3.8.0.src/lib/Driver/Tools.cpp -@@ -8632,7 +8632,14 @@ - return "/system/bin/linker64"; - else - return "/system/bin/linker"; -- } else if (Arch == llvm::Triple::x86 || Arch == llvm::Triple::sparc || -+ } else if (Arch == llvm::Triple::x86) { -+ switch (ToolChain.getTriple().getEnvironment()) { -+ case llvm::Triple::Musl: -+ return "/lib/ld-musl-i386.so.1"; -+ default: -+ return "/lib/ld-linux.so.2"; -+ } -+ } else if (Arch == llvm::Triple::sparc || - Arch == llvm::Triple::sparcel) - return "/lib/ld-linux.so.2"; - else if (Arch == llvm::Triple::aarch64) -@@ -8651,7 +8658,17 @@ - arm::getARMFloatABI(ToolChain, Args) == arm::FloatABI::Hard) - return "/lib/ld-linux-armhf.so.3"; - else -- return "/lib/ld-linux.so.3"; -+ switch (ToolChain.getTriple().getEnvironment()) { -+ case llvm::Triple::Musl: -+ case llvm::Triple::MuslEABI: -+ return "/lib/ld-musl-arm.so.1"; -+ case llvm::Triple::MuslEABIHF: -+ return "/lib/ld-musl-armhf.so.1"; -+ case llvm::Triple::GNUEABIHF: -+ return "/lib/ld-linux-armhf.so.1"; -+ default: -+ return "/lib/ld-linux.so.3"; -+ } - } else if (Arch == llvm::Triple::mips || Arch == llvm::Triple::mipsel || - Arch == llvm::Triple::mips64 || Arch == llvm::Triple::mips64el) { - std::string LibDir = -@@ -8685,8 +8702,14 @@ - else if (Arch == llvm::Triple::x86_64 && - ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUX32) - return "/libx32/ld-linux-x32.so.2"; -- else -- return "/lib64/ld-linux-x86-64.so.2"; -+ else { -+ switch (ToolChain.getTriple().getEnvironment()) { -+ case llvm::Triple::Musl: -+ return "/lib/ld-musl-x86_64.so.1"; -+ default: -+ return "/lib64/ld-linux-x86-64.so.2"; -+ } -+ } - } - - static void AddRunTimeLibs(const ToolChain &TC, const Driver &D, diff --git a/srcpkgs/llvm/files/patches/lldb/zzz-aarch64.patch b/srcpkgs/llvm/files/patches/lldb/zzz-aarch64.patch index 52bc8b9869b..a6979541c68 100644 --- a/srcpkgs/llvm/files/patches/lldb/zzz-aarch64.patch +++ b/srcpkgs/llvm/files/patches/lldb/zzz-aarch64.patch @@ -15,18 +15,3 @@ #ifndef NT_FPREGSET #define NT_FPREGSET NT_PRFPREG #endif // NT_FPREGSET -@@ -29,3 +28,4 @@ - #include - #endif // __ANDROID__ - -+ ---- lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp.orig -+++ lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp -@@ -32,6 +32,7 @@ - #include - // NT_PRSTATUS and NT_FPREGSET definition - #include -+#include - - #define REG_CONTEXT_SIZE (GetGPRSize() + GetFPRSize()) - diff --git a/srcpkgs/llvm/files/patches/llvm/llvm-002-musl-triple.patch b/srcpkgs/llvm/files/patches/llvm/llvm-002-musl-triple.patch deleted file mode 100644 index b2e1af9fcce..00000000000 --- a/srcpkgs/llvm/files/patches/llvm/llvm-002-musl-triple.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 58be6f7fb164dbf42fdd28ce6474dbe4bc5ca401 Mon Sep 17 00:00:00 2001 -From: Andrea Brancaleoni -Date: Tue, 8 Sep 2015 21:53:42 +0200 -Subject: [PATCH 2/3] musl triple - ---- - include/llvm/ADT/Triple.h | 4 ++++ - lib/Support/Triple.cpp | 6 ++++++ - lib/Target/ARM/ARMSubtarget.h | 3 +++ - lib/Target/ARM/ARMTargetMachine.cpp | 2 ++ - 4 files changed, 15 insertions(+) - -diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h -index 947812d..d2a6bbe 100644 ---- a/include/llvm/ADT/Triple.h -+++ b/include/llvm/ADT/Triple.h -@@ -167,6 +167,10 @@ public: - EABIHF, - Android, - -+ Musl, -+ MuslEABI, -+ MuslEABIHF, -+ - MSVC, - Itanium, - Cygnus, -diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp -index c6646fb..8d47ad9 100644 ---- a/lib/Support/Triple.cpp -+++ b/lib/Support/Triple.cpp -@@ -192,6 +192,9 @@ const char *Triple::getEnvironmentTypeName(EnvironmentType Kind) { - case CODE16: return "code16"; - case EABI: return "eabi"; - case EABIHF: return "eabihf"; -+ case Musl: return "musl"; -+ case MuslEABIHF: return "musleabihf"; -+ case MuslEABI: return "musleabi"; - case Android: return "android"; - case MSVC: return "msvc"; - case Itanium: return "itanium"; -@@ -427,6 +430,9 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) { - .StartsWith("code16", Triple::CODE16) - .StartsWith("gnu", Triple::GNU) - .StartsWith("android", Triple::Android) -+ .StartsWith("musleabihf", Triple::MuslEABIHF) -+ .StartsWith("musleabi", Triple::MuslEABI) -+ .StartsWith("musl", Triple::Musl) - .StartsWith("msvc", Triple::MSVC) - .StartsWith("itanium", Triple::Itanium) - .StartsWith("cygnus", Triple::Cygnus) -diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp -index 93495d6..56e6b7f 100644 ---- a/lib/Target/ARM/ARMTargetMachine.cpp -+++ b/lib/Target/ARM/ARMTargetMachine.cpp -@@ -97,6 +97,8 @@ computeTargetABI(const Triple &TT, StringRef CPU, - case llvm::Triple::GNUEABIHF: - case llvm::Triple::EABIHF: - case llvm::Triple::EABI: -+ case llvm::Triple::MuslEABI: -+ case llvm::Triple::MuslEABIHF: - TargetABI = ARMBaseTargetMachine::ARM_ABI_AAPCS; - break; - case llvm::Triple::GNU: --- -2.5.1 - ---- llvm-3.8.0.src/lib/Target/ARM/ARMSubtarget.h.orig 2016-03-09 13:34:16.919107629 +0100 -+++ llvm-3.8.0.src/lib/Target/ARM/ARMSubtarget.h 2016-03-09 13:38:12.019342405 +0100 -@@ -405,8 +405,10 @@ - bool isTargetEHABICompatible() const { - return (TargetTriple.getEnvironment() == Triple::EABI || - TargetTriple.getEnvironment() == Triple::GNUEABI || -+ TargetTriple.getEnvironment() == Triple::MuslEABI || - TargetTriple.getEnvironment() == Triple::EABIHF || - TargetTriple.getEnvironment() == Triple::GNUEABIHF || -+ TargetTriple.getEnvironment() == Triple::MuslEABIHF || - isTargetAndroid()) && - !isTargetDarwin() && !isTargetWindows(); - } -@@ -415,6 +417,7 @@ - // FIXME: this is invalid for WindowsCE - return TargetTriple.getEnvironment() == Triple::GNUEABIHF || - TargetTriple.getEnvironment() == Triple::EABIHF || -+ TargetTriple.getEnvironment() == Triple::MuslEABIHF || - isTargetWindows() || isAAPCS16_ABI(); - } - bool isTargetAndroid() const { return TargetTriple.isAndroid(); } diff --git a/srcpkgs/llvm/template b/srcpkgs/llvm/template index 887f69a7071..bfd1789f749 100644 --- a/srcpkgs/llvm/template +++ b/srcpkgs/llvm/template @@ -1,7 +1,7 @@ # Template file for 'llvm' pkgname=llvm -version=3.8.1 -revision=3 +version=3.9.0 +revision=1 wrksrc="llvm-${version}.src" lib32disabled=yes build_style=cmake @@ -25,20 +25,19 @@ distfiles=" http://www.llvm.org/releases/${version}/cfe-${version}.src.tar.xz http://www.llvm.org/releases/${version}/clang-tools-extra-${version}.src.tar.xz http://www.llvm.org/releases/${version}/compiler-rt-${version}.src.tar.xz" -checksum=" - 6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9 - 349148116a47e39dcb5d5042f10d8a6357d2c865034563283ca512f81cdce8a3 - 2bd9be8bb18d82f7f59e31ea33b4e58387dbdef0bc11d5c9fcd5ce9a4b16dc00 - 4cd3836dfb4b88b597e075341cae86d61c63ce3963e45c7fe6a8bf59bb382cdf - 664a5c60220de9c290bf2a5b03d902ab731a4f95fe73a00856175ead494ec396 - 0df011dae14d8700499dfc961602ee0a9572fef926202ade5dcdfe7858411e5c" +checksum="66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948 + 61280e07411e3f2b4cca0067412b39c16b0a9edd19d304d3fc90249899d12384 + 986e8150ec5f457469a20666628bf634a5ca992a53e157f3b69dbc35056b32d9 + 7596a7c7d9376d0c89e60028fe1ceb4d3e535e8ea8b89e0eb094e0dcb3183d28 + 5b7aec46ec8e999ec683c87ad744082e1133781ee4b01905b4bdae5d20785f14 + e0e5224fcd5740b61e416c549dd3dcda92f10c524216c1edb5e979e42078a59a" # XXX Investigate ocaml bindings. hostmakedepends="groff perl python zlib-devel libffi-devel swig" makedepends="python-devel zlib-devel libffi-devel libedit-devel libxml2-devel binutils-devel" -depends="libllvm3.8" +depends="libllvm3.9" -subpackages="clang-tools-extra clang clang-analyzer libllvm3.8" +subpackages="clang-tools-extra clang clang-analyzer libllvm3.9" if [ -z "$CROSS_BUILD" ]; then # XXX fails to cross compile due to python subpackages+=" lldb lldb-devel" @@ -207,6 +206,7 @@ clang_package() { 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" } @@ -252,7 +252,7 @@ lldb-devel_package() { vmove "usr/lib/liblldb*.so" } } -libllvm3.8_package() { +libllvm3.9_package() { short_desc+=" - runtime library" pkg_install() { vmove "usr/lib/libLLVM-*.so*"