diff --git a/gnu/local.mk b/gnu/local.mk index 87b8dd26df0..a011000bc87 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1093,7 +1093,6 @@ dist_patch_DATA = \ %D%/packages/patches/clang-3.5-libc-search-path.patch \ %D%/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ - %D%/packages/patches/clang-6.0-libc-search-path.patch \ %D%/packages/patches/clang-11.0-libc-search-path.patch \ %D%/packages/patches/clang-12.0-libc-search-path.patch \ %D%/packages/patches/clang-13.0-libc-search-path.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index fb9e6d70bcf..e0cbf5d11c9 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1056,12 +1056,6 @@ Library.") '("clang-runtime-9-libsanitizer-mode-field.patch" "clang-runtime-9-glibc-2.36-compat.patch"))) -(define-public clang-6 - (clang-from-llvm llvm-6 clang-runtime-6 - "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w" - #:legacy-build-shared-libs? #t - #:patches '("clang-6.0-libc-search-path.patch"))) - (define-public llvm-3.8 (package (inherit llvm-6) (name "llvm") diff --git a/gnu/packages/patches/clang-6.0-libc-search-path.patch b/gnu/packages/patches/clang-6.0-libc-search-path.patch deleted file mode 100644 index a62e8063c20..00000000000 --- a/gnu/packages/patches/clang-6.0-libc-search-path.patch +++ /dev/null @@ -1,67 +0,0 @@ -Clang attempts to guess file names based on the OS and distro (yes!), -but unfortunately, that doesn't work for us. - -This patch makes it easy to insert libc's $libdir so that Clang passes the -correct absolute file name of crt1.o etc. to 'ld'. It also disables all -the distro-specific stuff and removes the hard-coded FHS directory names -to make sure Clang also works on non-GuixSD systems. - ---- cfe-6.0.0.src/lib/Driver/ToolChains/Linux.cpp -+++ cfe-6.0.0.src/lib/Driver/ToolChains/Linux.cpp -@@ -207,7 +207,9 @@ - PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + - GCCInstallation.getTriple().str() + "/bin") - .str()); -- -+ // Comment out the distro-specific tweaks so that they don't bite when -+ // using Guix on a foreign distro. -+#if 0 - Distro Distro(D.getVFS()); - - if (Distro.IsAlpineLinux()) { -@@ -255,6 +257,7 @@ - - if (IsAndroid || Distro.IsOpenSUSE()) - ExtraOpts.push_back("--enable-new-dtags"); -+#endif - - // The selection of paths to try here is designed to match the patterns which - // the GCC driver itself uses, as this is part of the GCC-compatible driver. -@@ -329,14 +332,12 @@ - addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); - } - -- addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); -- addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); -- addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths); -- addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths); -- - // Try walking via the GCC triple path in case of biarch or multiarch GCC - // installations with strange symlinks. - if (GCCInstallation.isValid()) { -+ // The following code would end up adding things like -+ // "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. -+#if 0 - addPathIfExists(D, - SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + - "/../../" + OSLibDir, -@@ -349,6 +350,7 @@ - BiarchSibling.gccSuffix(), - Paths); - } -+#endif - - // See comments above on the multilib variant for details of why this is - // included even from outside the sysroot. -@@ -373,8 +375,9 @@ - if (StringRef(D.Dir).startswith(SysRoot)) - addPathIfExists(D, D.Dir + "/../lib", Paths); - -- addPathIfExists(D, SysRoot + "/lib", Paths); -- addPathIfExists(D, SysRoot + "/usr/lib", Paths); -+ // 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); - } - - bool Linux::HasNativeLLVMSupport() const { return true; }