diff --git a/driver/targetmachine.cpp b/driver/targetmachine.cpp index 6f85efd6603..4d0105a290d 100644 --- a/driver/targetmachine.cpp +++ b/driver/targetmachine.cpp @@ -143,7 +143,7 @@ const char *getABI(const llvm::Triple &triple, const llvm::SmallVectorImplisArch64Bit()); + // FreeBSD powerpc64 is big-endian but uses the ELFv2 ABI, like ppc64le + if (global.params.targetTriple->isOSFreeBSD()) + return getPPC64LETargetABI(); + return getPPCTargetABI(true); case llvm::Triple::ppc64le: return getPPC64LETargetABI(); case llvm::Triple::aarch64: