From 8d653c08b750c5f28a2faa5d57187a2d2a46dca5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 31 May 2022 23:39:45 +0200 Subject: gnu: LLVM, Clang, LLD: Update to 14.0.4. * gnu/packages/llvm.scm (%llvm-monorepo-hashes): Adjust for 14.0.4. (%llvm-patches): Likewise. (llvm-14, clang-14, lld-14): Update to 14.0.4. * gnu/packages/patches/clang-14.0-libc-search-path.patch: Adjust for upstream changes. --- gnu/packages/llvm.scm | 10 +++++----- .../patches/clang-14.0-libc-search-path.patch | 21 +++++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index d3b16f2759..88b582d85b 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -541,10 +541,10 @@ output), and Binutils.") ("libc-static" ,glibc "static"))))) (define %llvm-monorepo-hashes - '(("14.0.3" . "0makhpbrg46m2gi8wyp5h21ln4mgilahh3clk4d1b2ln2ck3v7m8"))) + '(("14.0.4" . "1y4yvx749cn3gkpc9kf48xbd2wc2lry8x5zdpk3sbrkqs8vrji4q"))) (define %llvm-patches - '(("14.0.3" . ("clang-14.0-libc-search-path.patch")))) + '(("14.0.4" . ("clang-14.0-libc-search-path.patch")))) (define (llvm-monorepo version) (origin @@ -559,7 +559,7 @@ output), and Binutils.") (define-public llvm-14 (package (name "llvm") - (version "14.0.3") + (version "14.0.4") (source (llvm-monorepo version)) (build-system cmake-build-system) (outputs '("out" "opt-viewer")) @@ -647,7 +647,7 @@ of programming tools as well as libraries with equivalent functionality.") (package-version llvm-14))) (sha256 (base32 - "188hh6l956gkl6hgjzzdraj5jp538zhhhllxvy23gml6slrmbj7j")))))) + "1vcgmvh0r28a1z87p3y4h2326zi8liq7l9mcfvmx22x9bmbcpfn8")))))) (package (inherit template) (arguments @@ -1176,7 +1176,7 @@ of programming tools as well as libraries with equivalent functionality.") (define-public lld-14 (package (name "lld") - (version "14.0.3") + (version "14.0.4") (source (llvm-monorepo version)) (build-system cmake-build-system) (inputs diff --git a/gnu/packages/patches/clang-14.0-libc-search-path.patch b/gnu/packages/patches/clang-14.0-libc-search-path.patch index 7e439cd1ef..78b0637cab 100644 --- a/gnu/packages/patches/clang-14.0-libc-search-path.patch +++ b/gnu/packages/patches/clang-14.0-libc-search-path.patch @@ -7,6 +7,7 @@ the distro-specific stuff and removes the hard-coded FHS directory names to make sure Clang also works on foreign distros. diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp +index 5ac38c34d112..2a704b418fdc 100644 --- a/clang/lib/Driver/Distro.cpp +++ b/clang/lib/Driver/Distro.cpp @@ -96,6 +96,10 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) { @@ -21,6 +22,7 @@ diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp // Newer freedesktop.org's compilant systemd-based systems diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp +index 4a9f6d4c4e3e..0ae13ebebd27 100644 --- a/clang/lib/Driver/ToolChains/Cuda.cpp +++ b/clang/lib/Driver/ToolChains/Cuda.cpp @@ -117,6 +117,9 @@ CudaInstallationDetector::CudaInstallationDetector( @@ -34,6 +36,7 @@ diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/ std::string Path; bool StrictChecking; diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp +index 83cb41159de7..6b920e33d1ef 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -186,6 +186,10 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) @@ -72,21 +75,19 @@ diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths); +#if 0 - // Similar to the logic for GCC above, if we are currently running Clang - // inside of the requested system root, add its parent library path to those - // searched. -@@ -313,9 +321,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) - if (OSLibDir != "lib") - addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); - } + // The deprecated -DLLVM_ENABLE_PROJECTS=libcxx configuration installs + // libc++.so in D.Dir+"/../lib/". Detect this path. + // TODO Remove once LLVM_ENABLE_PROJECTS=libcxx is unsupported. +@@ -310,6 +318,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + addPathIfExists(D, SysRoot + "/lib", Paths); + addPathIfExists(D, SysRoot + "/usr/lib", Paths); +#endif + + // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, + // and friends can be found. + addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); - -- addPathIfExists(D, SysRoot + "/lib", Paths); -- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ + // Add GCC's lib/ directory so libstdc++.so can be found. + addPathIfExists(D, GCCInstallation.getParentLibPath(), Paths); } -- cgit v1.2.3