mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-07-09 10:05:49 +00:00
add the patch for real
This commit is contained in:
parent
2c51c4d7d0
commit
7137f81662
80
debian/patches/fix-i386-path.diff
vendored
Normal file
80
debian/patches/fix-i386-path.diff
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
Index: llvm-toolchain-snapshot_13~++20210404092006+c4c511337247/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
===================================================================
|
||||
--- llvm-toolchain-snapshot_13~++20210404092006+c4c511337247.orig/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ llvm-toolchain-snapshot_13~++20210404092006+c4c511337247/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -2983,9 +2983,13 @@ Generic_GCC::addGCCLibStdCxxIncludePaths
|
||||
TripleStr, Multilib.includeSuffix(), DriverArgs, CC1Args))
|
||||
return true;
|
||||
// Detect Debian g++-multiarch-incdir.diff.
|
||||
+ StringRef DebianMultiarch =
|
||||
+ GCCInstallation.getTriple().getArch() == llvm::Triple::x86
|
||||
+ ? "i386-linux-gnu"
|
||||
+ : TripleStr;
|
||||
if (addLibStdCXXIncludePaths(LibDir.str() + "/../include/c++/" + Version.Text,
|
||||
- TripleStr, Multilib.includeSuffix(), DriverArgs,
|
||||
- CC1Args, /*Debian=*/true))
|
||||
+ DebianMultiarch, Multilib.includeSuffix(),
|
||||
+ DriverArgs, CC1Args, /*Debian=*/true))
|
||||
return true;
|
||||
|
||||
// Otherwise, fall back on a bunch of options which don't use multiarch
|
||||
Index: llvm-toolchain-snapshot_13~++20210404092006+c4c511337247/clang/test/Driver/linux-cross.cpp
|
||||
===================================================================
|
||||
--- llvm-toolchain-snapshot_13~++20210404092006+c4c511337247.orig/clang/test/Driver/linux-cross.cpp
|
||||
+++ llvm-toolchain-snapshot_13~++20210404092006+c4c511337247/clang/test/Driver/linux-cross.cpp
|
||||
@@ -49,6 +49,55 @@
|
||||
// DEBIAN_X86_64_M32-SAME: {{^}} "-L[[SYSROOT]]/lib"
|
||||
// DEBIAN_X86_64_M32-SAME: {{^}} "-L[[SYSROOT]]/usr/lib"
|
||||
|
||||
+/// Test native GCC installation on Debian i386.
|
||||
+// RUN: %clang -### %s --target=i686-linux-gnu --sysroot=%S/Inputs/debian_i386_tree \
|
||||
+// RUN: -resource-dir=%S/Inputs/resource_dir --stdlib=platform --rtlib=platform 2>&1 | FileCheck %s --check-prefix=DEBIAN_I686
|
||||
+// DEBIAN_I686: "-resource-dir" "[[RESOURCE:[^"]+]]"
|
||||
+// DEBIAN_I686: "-internal-isystem"
|
||||
+// DEBIAN_I686-SAME: {{^}} "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-linux-gnu/10/../../../../include/c++/10"
|
||||
+/// Debian specific - the path component after 'include' is i386-linux-gnu even
|
||||
+/// though the installation is i686-linux-gnu.
|
||||
+// DEBIAN_I686-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-linux-gnu/10/../../../../include/i386-linux-gnu/c++/10"
|
||||
+// DEBIAN_I686-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-linux-gnu/10/../../../../include/c++/10/backward"
|
||||
+// DEBIAN_I686-SAME: {{^}} "-internal-isystem" "[[RESOURCE]]/include"
|
||||
+// DEBIAN_I686-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include"
|
||||
+/// This resolves to /usr/i686-linux-gnu/include. Because it does not exist,
|
||||
+/// having it does no harm albeit not ideal.
|
||||
+// DEBIAN_I686-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-linux-gnu/10/../../../../i686-linux-gnu/include"
|
||||
+// DEBIAN_I686: "-internal-externc-isystem"
|
||||
+// DEBIAN_I686-SAME: {{^}} "[[SYSROOT]]/usr/include/i386-linux-gnu"
|
||||
+// DEBIAN_I686: "-L
|
||||
+// DEBIAN_I686-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/10"
|
||||
+// DEBIAN_I686-SAME: {{^}} "-L[[SYSROOT]]/lib/i386-linux-gnu"
|
||||
+// DEBIAN_I686-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/i386-linux-gnu"
|
||||
+// DEBIAN_I686-SAME: {{^}} "-L[[SYSROOT]]/lib"
|
||||
+// DEBIAN_I686-SAME: {{^}} "-L[[SYSROOT]]/usr/lib"
|
||||
+
|
||||
+/// Test -m64 on Debian i386.
|
||||
+// RUN: %clang -### %s --target=i686-linux-gnu --sysroot=%S/Inputs/debian_i386_tree -m64 \
|
||||
+// RUN: -resource-dir=%S/Inputs/resource_dir --stdlib=platform --rtlib=platform 2>&1 | FileCheck %s --check-prefix=DEBIAN_I686_M64
|
||||
+// DEBIAN_I686_M64: "-resource-dir" "[[RESOURCE:[^"]+]]"
|
||||
+// DEBIAN_I686_M64: "-internal-isystem"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-linux-gnu/10/../../../../include/c++/10"
|
||||
+/// Debian specific - the path component after 'include' is i386-linux-gnu even
|
||||
+/// though the installation is i686-linux-gnu.
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-linux-gnu/10/../../../../include/i386-linux-gnu/c++/10/64"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-linux-gnu/10/../../../../include/c++/10/backward"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-internal-isystem" "[[RESOURCE]]/include"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-linux-gnu/10/../../../../i686-linux-gnu/include"
|
||||
+// DEBIAN_I686_M64: "-internal-externc-isystem"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "[[SYSROOT]]/usr/include/x86_64-linux-gnu"
|
||||
+// DEBIAN_I686_M64: "-L
|
||||
+// DEBIAN_I686_M64-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/10/64"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/10/../../../../lib64"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-L[[SYSROOT]]/lib/x86_64-linux-gnu"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib64"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/x86_64-linux-gnu"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib64"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-L[[SYSROOT]]/lib"
|
||||
+// DEBIAN_I686_M64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib"
|
||||
+
|
||||
/// Test a cross compiler.
|
||||
// RUN: %clang -### %s --target=aarch64-linux-gnu --sysroot=%S/Inputs/debian_multiarch_tree \
|
||||
// RUN: -resource-dir=%S/Inputs/resource_dir --stdlib=platform --rtlib=platform 2>&1 | FileCheck %s --check-prefix=DEBIAN_AARCH64
|
Loading…
Reference in New Issue
Block a user