]> git.pld-linux.org Git - packages/llvm.git/blob - x32-gcc-toolchain.patch
abd2ad8340e3d073228762259e9b0c9d7ffd22f5
[packages/llvm.git] / x32-gcc-toolchain.patch
1 diff -urNp -x '*.orig' llvm-11.0.1.src.org/tools/clang/lib/Driver/ToolChains/Gnu.cpp llvm-11.0.1.src/tools/clang/lib/Driver/ToolChains/Gnu.cpp
2 --- llvm-11.0.1.src.org/tools/clang/lib/Driver/ToolChains/Gnu.cpp       2021-03-25 22:28:00.723555728 +0100
3 +++ llvm-11.0.1.src/tools/clang/lib/Driver/ToolChains/Gnu.cpp   2021-03-25 22:28:05.906854918 +0100
4 @@ -2085,6 +2085,9 @@ void Generic_GCC::GCCInstallationDetecto
5        "x86_64-slackware-linux", "x86_64-unknown-linux",
6        "x86_64-amazon-linux",    "x86_64-linux-android"};
7    static const char *const X32LibDirs[] = {"/libx32"};
8 +  static const char *const X32Triples[] = {
9 +      "x86_64-pld-linux-gnux32", "amd64-pld-linux-gnux32",
10 +      "x86_64-linux-gnux32", "x86_64-unknown-linux-gnux32", "x86_64-pc-linux-gnux32"};
11    static const char *const X86LibDirs[] = {"/lib32", "/lib"};
12    static const char *const X86Triples[] = {
13        "i686-pld-linux", "i586-pld-linux", "i486-pld-linux", "i386-pld-linux", "athlon-pld-linux",
14 @@ -2307,15 +2310,19 @@ void Generic_GCC::GCCInstallationDetecto
15      TripleAliases.append(begin(AVRTriples), end(AVRTriples));
16      break;
17    case llvm::Triple::x86_64:
18 -    LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
19 -    TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
20 -    // x32 is always available when x86_64 is available, so adding it as
21 -    // secondary arch with x86_64 triples
22      if (TargetTriple.getEnvironment() == llvm::Triple::GNUX32) {
23 -      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
24 +      LibDirs.append(begin(X32LibDirs), end(X32LibDirs));
25 +      TripleAliases.append(begin(X32Triples), end(X32Triples));
26 +      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
27 +      BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
28        BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
29 +      BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
30      } else {
31 +      LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
32 +      TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
33 +      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
34        BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
35 +      BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
36        BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
37      }
38      break;
This page took 0.022242 seconds and 2 git commands to generate.