28 lines
806 B
Diff
28 lines
806 B
Diff
--- a/lib/Basic/Targets/PPC.h
|
|
+++ b/lib/Basic/Targets/PPC.h
|
|
@@ -376,11 +376,11 @@ public:
|
|
|
|
if ((Triple.getArch() == llvm::Triple::ppc64le)) {
|
|
resetDataLayout("e-m:e-i64:64-n32:64");
|
|
- ABI = "elfv2";
|
|
} else {
|
|
resetDataLayout("E-m:e-i64:64-n32:64");
|
|
- ABI = Triple.getEnvironment() == llvm::Triple::ELFv2 ? "elfv2" : "elfv1";
|
|
}
|
|
+ /* default to elfv2 always, ignore llvm's elfv2 triples */
|
|
+ ABI = "elfv2";
|
|
|
|
if (Triple.getOS() == llvm::Triple::AIX)
|
|
SuitableAlign = 64;
|
|
--- a/lib/Driver/ToolChains/Clang.cpp
|
|
+++ b/lib/Driver/ToolChains/Clang.cpp
|
|
@@ -1804,7 +1804,7 @@ void Clang::AddPPCTargetArgs(const ArgList &Args,
|
|
break;
|
|
}
|
|
|
|
- ABIName = "elfv1";
|
|
+ ABIName = "elfv2";
|
|
break;
|
|
}
|
|
case llvm::Triple::ppc64le:
|