File tree Expand file tree Collapse file tree 7 files changed +13
-2
lines changed Expand file tree Collapse file tree 7 files changed +13
-2
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 @@ -476,6 +476,8 @@ class LLVM_LIBRARY_VISIBILITY OpenBSDTargetInfo : public OSTargetInfo<Target> {
476
476
case llvm::Triple::mips64:
477
477
case llvm::Triple::mips64el:
478
478
case llvm::Triple::ppc:
479
+ case llvm::Triple::ppc64:
480
+ case llvm::Triple::ppc64le:
479
481
case llvm::Triple::sparcv9:
480
482
this ->MCountName = " _mcount" ;
481
483
break ;
Original file line number Diff line number Diff line change @@ -418,7 +418,7 @@ class LLVM_LIBRARY_VISIBILITY PPC64TargetInfo : public PPCTargetInfo {
418
418
ABI = " elfv1" ;
419
419
}
420
420
421
- if (Triple.isOSFreeBSD () || Triple.isMusl ()) {
421
+ if (Triple.isOSFreeBSD () || Triple.isOSOpenBSD () || Triple. isMusl ()) {
422
422
LongDoubleWidth = LongDoubleAlign = 64 ;
423
423
LongDoubleFormat = &llvm::APFloat::IEEEdouble ();
424
424
}
Original file line number Diff line number Diff line change @@ -1883,7 +1883,8 @@ void Clang::AddPPCTargetArgs(const ArgList &Args,
1883
1883
if (T.isOSBinFormatELF ()) {
1884
1884
switch (getToolChain ().getArch ()) {
1885
1885
case llvm::Triple::ppc64: {
1886
- if (T.isMusl () || (T.isOSFreeBSD () && T.getOSMajorVersion () >= 13 ))
1886
+ if ((T.isOSFreeBSD () && T.getOSMajorVersion () >= 13 ) ||
1887
+ T.isOSOpenBSD () || T.isMusl ()
1887
1888
ABIName = " elfv2" ;
1888
1889
else
1889
1890
ABIName = " elfv1" ;
Original file line number Diff line number Diff line change 20
20
// RUN: %clang -target powerpc64-unknown-freebsd12 %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv1 %s
21
21
// RUN: %clang -target powerpc64-unknown-freebsd13 %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv2-BE %s
22
22
// RUN: %clang -target powerpc64-unknown-freebsd14 %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv2-BE %s
23
+ // RUN: %clang -target powerpc64-unknown-openbsd %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv2-BE-PIE %
23
24
// RUN: %clang -target powerpc64-linux-musl %s -### 2>&1 | FileCheck --check-prefix=CHECK-ELFv2-BE-PIE %s
24
25
25
26
// CHECK-ELFv1: "-mrelocation-model" "static"
Original file line number Diff line number Diff line change 1062
1062
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd11 -target-abi elfv1 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv1 %s
1063
1063
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd12 -target-abi elfv1 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv1 %s
1064
1064
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd13 -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1065
+ // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-openbsd -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1065
1066
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-linux-musl -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1066
1067
1067
1068
// 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