31 lines
1.7 KiB
Diff
31 lines
1.7 KiB
Diff
This patches LLVM to use ELFv2 on ppc64 unconditionally unless overridden. We
|
|
need this because unlike most distros we use ELFv2 for both glibc and musl
|
|
on big endian ppc64.
|
|
|
|
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
|
|
index 0634833e..b7cbc2e7 100644
|
|
--- a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
|
|
+++ b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
|
|
@@ -222,9 +222,8 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT,
|
|
|
|
switch (TT.getArch()) {
|
|
case Triple::ppc64le:
|
|
- return PPCTargetMachine::PPC_ABI_ELFv2;
|
|
case Triple::ppc64:
|
|
- return PPCTargetMachine::PPC_ABI_ELFv1;
|
|
+ return PPCTargetMachine::PPC_ABI_ELFv2;
|
|
default:
|
|
return PPCTargetMachine::PPC_ABI_UNKNOWN;
|
|
}
|
|
diff --git a/test/CodeGen/PowerPC/ppc64-elf-abi.ll b/test/CodeGen/PowerPC/ppc64-elf-abi.ll
|
|
index 8b1cf6b5..296a2afa 100644
|
|
--- a/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll
|
|
+++ b/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll
|
|
@@ -1,4 +1,5 @@
|
|
-; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv1
|
|
+; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv2
|
|
+; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-musl < %s | FileCheck %s -check-prefix=CHECK-ELFv2
|
|
; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv1 < %s | FileCheck %s -check-prefix=CHECK-ELFv1
|
|
; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv2 < %s | FileCheck %s -check-prefix=CHECK-ELFv2
|
|
; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv2
|