File tree Expand file tree Collapse file tree 7 files changed +14
-4
lines changed Expand file tree Collapse file tree 7 files changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -346,6 +346,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
346
346
return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
347
347
case llvm::Triple::NetBSD:
348
348
return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
349
+ case llvm::Triple::OpenBSD:
350
+ return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
349
351
case llvm::Triple::AIX:
350
352
return new AIXPPC64TargetInfo (Triple, Opts);
351
353
default :
@@ -358,6 +360,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
358
360
return new LinuxTargetInfo<PPC64TargetInfo>(Triple, Opts);
359
361
case llvm::Triple::NetBSD:
360
362
return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
363
+ case llvm::Triple::OpenBSD:
364
+ return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
361
365
default :
362
366
return new PPC64TargetInfo (Triple, Opts);
363
367
}
Original file line number Diff line number Diff line change @@ -478,6 +478,8 @@ class LLVM_LIBRARY_VISIBILITY OpenBSDTargetInfo : public OSTargetInfo<Target> {
478
478
case llvm::Triple::mips64:
479
479
case llvm::Triple::mips64el:
480
480
case llvm::Triple::ppc:
481
+ case llvm::Triple::ppc64:
482
+ case llvm::Triple::ppc64le:
481
483
case llvm::Triple::sparcv9:
482
484
this ->MCountName = " _mcount" ;
483
485
break ;
Original file line number Diff line number Diff line change @@ -414,8 +414,8 @@ class LLVM_LIBRARY_VISIBILITY PPC64TargetInfo : public PPCTargetInfo {
414
414
ABI = " elfv1" ;
415
415
}
416
416
417
- if (Triple.isOSFreeBSD () || Triple.getOS () == llvm::Triple::AIX ||
418
- Triple.isMusl ()) {
417
+ if (Triple.isOSFreeBSD () || Triple.isOSOpenBSD () ||
418
+ Triple.getOS () == llvm::Triple::AIX || Triple. isMusl ()) {
419
419
LongDoubleWidth = LongDoubleAlign = 64 ;
420
420
LongDoubleFormat = &llvm::APFloat::IEEEdouble ();
421
421
}
Original file line number Diff line number Diff line change @@ -1879,8 +1879,8 @@ void Clang::AddPPCTargetArgs(const ArgList &Args,
1879
1879
ABIName = " elfv1-qpx" ;
1880
1880
break ;
1881
1881
}
1882
-
1883
- if (T. isMusl () || (T. isOSFreeBSD () && T. getOSMajorVersion () >= 13 ) )
1882
+ if ((T. isOSFreeBSD () && T. getOSMajorVersion () >= 13 ) ||
1883
+ T. isOSOpenBSD () || T. isMusl ( )
1884
1884
ABIName = " elfv2" ;
1885
1885
else
1886
1886
ABIName = " elfv1" ;
Original file line number Diff line number Diff line change 28
28
// RUN: %clang -target powerpc64-unknown-freebsd12 %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv1 %s
29
29
// RUN: %clang -target powerpc64-unknown-freebsd13 %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv2-BE %s
30
30
// RUN: %clang -target powerpc64-unknown-freebsd14 %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv2-BE %s
31
+ // RUN: %clang -target powerpc64-unknown-openbsd %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv2-BE-PIE %
31
32
// RUN: %clang -target powerpc64-linux-musl %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv2-BE-PIE %s
32
33
33
34
// CHECK-ELFv1: "-mrelocation-model" "static"
Original file line number Diff line number Diff line change 1078
1078
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd11 -target-abi elfv1 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv1 %s
1079
1079
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd12 -target-abi elfv1 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv1 %s
1080
1080
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd13 -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1081
+ // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-openbsd -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1081
1082
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-linux-musl -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1082
1083
1083
1084
// PPC64-ELFv1:#define _CALL_ELF 1
Original file line number Diff line number Diff line change 7321
7321
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-unknown-openbsd6.1-gnueabi < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
7322
7322
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
7323
7323
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
7324
+ // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
7325
+ // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
7324
7326
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
7325
7327
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
7326
7328
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
You can’t perform that action at this time.
0 commit comments