packages/rocm-llvm/clang-ppc64-elfv2.patch

40 lines
1.3 KiB
Diff

--- lib/Driver/ToolChains/Clang.cpp.orig 2024-03-13 17:42:20.994438710 +0100
+++ lib/Driver/ToolChains/Clang.cpp 2024-03-13 17:42:54.503144176 +0100
@@ -2029,13 +2029,7 @@
const char *ABIName = nullptr;
if (T.isOSBinFormatELF()) {
switch (getToolChain().getArch()) {
- case llvm::Triple::ppc64: {
- if (T.isPPC64ELFv2ABI())
- ABIName = "elfv2";
- else
- ABIName = "elfv1";
- break;
- }
+ case llvm::Triple::ppc64:
case llvm::Triple::ppc64le:
ABIName = "elfv2";
break;
--- lib/Basic/Targets/PPC.h.orig 2024-03-13 17:38:36.204536553 +0100
+++ lib/Basic/Targets/PPC.h 2024-03-13 17:41:36.426819177 +0100
@@ -424,18 +424,16 @@
LongDoubleFormat = &llvm::APFloat::IEEEdouble();
} else if ((Triple.getArch() == llvm::Triple::ppc64le)) {
DataLayout = "e-m:e-Fn32-i64:64-n32:64";
- ABI = "elfv2";
} else {
DataLayout = "E-m:e";
if (Triple.isPPC64ELFv2ABI()) {
- ABI = "elfv2";
DataLayout += "-Fn32";
} else {
- ABI = "elfv1";
DataLayout += "-Fi64";
}
DataLayout += "-i64:64-n32:64";
}
+ ABI = "elfv2";
if (Triple.isOSFreeBSD() || Triple.isOSOpenBSD() || Triple.isMusl()) {
LongDoubleWidth = LongDoubleAlign = 64;