blob: 5b6460a0afba6a10401d48064488a6203db8ff10 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
--- tools/clang/lib/Basic/Targets/PPC.h.orig 2019-07-09 13:32:26 UTC
+++ tools/clang/lib/Basic/Targets/PPC.h
@@ -374,12 +374,29 @@ class LLVM_LIBRARY_VISIBILITY PPC64TargetInfo : public
IntMaxType = SignedLong;
Int64Type = SignedLong;
+ if (Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) {
+ switch (Triple.getEnvironment()){
+ case llvm::Triple::ELFv1:
+ ABI = "elfv1";
+ break;
+ default:
+ ABI = "elfv2";
+ break;
+ }
+ } else {
+ if ((Triple.getOS() == llvm::Triple::FreeBSD) &&
+ (Triple.getOSMajorVersion() < 13)) {
+ ABI = "elfv1";
+ } else {
+ ABI = "elfv2";
+ }
+ }
+
+
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";
}
if (Triple.getOS() == llvm::Triple::AIX)
|