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.
This commit is contained in:
parent
82b06436b4
commit
8d653c08b7
2 changed files with 16 additions and 15 deletions
|
@ -541,10 +541,10 @@ (define (make-clang-toolchain clang)
|
||||||
("libc-static" ,glibc "static")))))
|
("libc-static" ,glibc "static")))))
|
||||||
|
|
||||||
(define %llvm-monorepo-hashes
|
(define %llvm-monorepo-hashes
|
||||||
'(("14.0.3" . "0makhpbrg46m2gi8wyp5h21ln4mgilahh3clk4d1b2ln2ck3v7m8")))
|
'(("14.0.4" . "1y4yvx749cn3gkpc9kf48xbd2wc2lry8x5zdpk3sbrkqs8vrji4q")))
|
||||||
|
|
||||||
(define %llvm-patches
|
(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)
|
(define (llvm-monorepo version)
|
||||||
(origin
|
(origin
|
||||||
|
@ -559,7 +559,7 @@ (define (llvm-monorepo version)
|
||||||
(define-public llvm-14
|
(define-public llvm-14
|
||||||
(package
|
(package
|
||||||
(name "llvm")
|
(name "llvm")
|
||||||
(version "14.0.3")
|
(version "14.0.4")
|
||||||
(source (llvm-monorepo version))
|
(source (llvm-monorepo version))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(outputs '("out" "opt-viewer"))
|
(outputs '("out" "opt-viewer"))
|
||||||
|
@ -647,7 +647,7 @@ (define-public clang-14
|
||||||
(package-version llvm-14)))
|
(package-version llvm-14)))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"188hh6l956gkl6hgjzzdraj5jp538zhhhllxvy23gml6slrmbj7j"))))))
|
"1vcgmvh0r28a1z87p3y4h2326zi8liq7l9mcfvmx22x9bmbcpfn8"))))))
|
||||||
(package
|
(package
|
||||||
(inherit template)
|
(inherit template)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -1176,7 +1176,7 @@ (define-public libunwind-headers
|
||||||
(define-public lld-14
|
(define-public lld-14
|
||||||
(package
|
(package
|
||||||
(name "lld")
|
(name "lld")
|
||||||
(version "14.0.3")
|
(version "14.0.4")
|
||||||
(source (llvm-monorepo version))
|
(source (llvm-monorepo version))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
|
|
|
@ -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.
|
to make sure Clang also works on foreign distros.
|
||||||
|
|
||||||
diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
|
diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
|
||||||
|
index 5ac38c34d112..2a704b418fdc 100644
|
||||||
--- a/clang/lib/Driver/Distro.cpp
|
--- a/clang/lib/Driver/Distro.cpp
|
||||||
+++ b/clang/lib/Driver/Distro.cpp
|
+++ b/clang/lib/Driver/Distro.cpp
|
||||||
@@ -96,6 +96,10 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) {
|
@@ -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
|
// Newer freedesktop.org's compilant systemd-based systems
|
||||||
diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp
|
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
|
--- a/clang/lib/Driver/ToolChains/Cuda.cpp
|
||||||
+++ b/clang/lib/Driver/ToolChains/Cuda.cpp
|
+++ b/clang/lib/Driver/ToolChains/Cuda.cpp
|
||||||
@@ -117,6 +117,9 @@ CudaInstallationDetector::CudaInstallationDetector(
|
@@ -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;
|
std::string Path;
|
||||||
bool StrictChecking;
|
bool StrictChecking;
|
||||||
diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
|
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
|
--- a/clang/lib/Driver/ToolChains/Linux.cpp
|
||||||
+++ b/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)
|
@@ -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);
|
Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths);
|
||||||
|
|
||||||
+#if 0
|
+#if 0
|
||||||
// Similar to the logic for GCC above, if we are currently running Clang
|
// The deprecated -DLLVM_ENABLE_PROJECTS=libcxx configuration installs
|
||||||
// inside of the requested system root, add its parent library path to those
|
// libc++.so in D.Dir+"/../lib/". Detect this path.
|
||||||
// searched.
|
// TODO Remove once LLVM_ENABLE_PROJECTS=libcxx is unsupported.
|
||||||
@@ -313,9 +321,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
@@ -310,6 +318,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||||
if (OSLibDir != "lib")
|
|
||||||
addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths);
|
addPathIfExists(D, SysRoot + "/lib", Paths);
|
||||||
}
|
addPathIfExists(D, SysRoot + "/usr/lib", Paths);
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
+ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o,
|
+ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o,
|
||||||
+ // and friends can be found.
|
+ // and friends can be found.
|
||||||
+ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths);
|
+ 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.
|
+ // Add GCC's lib/ directory so libstdc++.so can be found.
|
||||||
+ addPathIfExists(D, GCCInstallation.getParentLibPath(), Paths);
|
+ addPathIfExists(D, GCCInstallation.getParentLibPath(), Paths);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue