1 --- llvm-5.0.0.src/tools/clang/lib/Driver/ToolChains/Gnu.cpp~ 2015-07-26 12:48:18.000000000 +0200
2 +++ llvm-5.0.0.src/tools/clang/lib/Driver/ToolChains/Gnu.cpp 2015-07-26 17:44:56.883613971 +0200
4 "x86_64-slackware-linux", "x86_64-linux-android",
5 "x86_64-unknown-linux"};
6 static const char *const X32LibDirs[] = {"/libx32"};
7 + static const char *const X32Triples[] = {
8 + "x86_64-pld-linux-gnux32", "amd64-pld-linux-gnux32",
9 + "x86_64-linux-gnux32", "x86_64-unknown-linux-gnux32", "x86_64-pc-linux-gnux32"};
10 static const char *const X86LibDirs[] = {"/lib32", "/lib"};
11 static const char *const X86Triples[] = {
12 "i686-pld-linux", "i586-pld-linux", "i486-pld-linux", "i386-pld-linux", "athlon-pld-linux",
13 @@ -1407,15 +1407,19 @@
16 case llvm::Triple::x86_64:
17 - LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
18 - TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
19 - // x32 is always available when x86_64 is available, so adding it as
20 - // secondary arch with x86_64 triples
21 if (TargetTriple.getEnvironment() == llvm::Triple::GNUX32) {
22 - BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
23 + LibDirs.append(begin(X32LibDirs), end(X32LibDirs));
24 + TripleAliases.append(begin(X32Triples), end(X32Triples));
25 + BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
26 + BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
27 BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
28 + BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
30 + LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
31 + TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
32 + BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
33 BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
34 + BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
35 BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));