summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-12-21 17:00:36 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-12-21 17:00:36 +0000
commit1ad4095d6bb6b827708c30b96183e6b15ae1578e (patch)
treebfb7af9a2fcc813dbc26c4ad8b9690660929e70f /llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
parentc09b854f6b9766596f1ce2b9feafb9655f20ea76 (diff)
downloadbcm5719-llvm-1ad4095d6bb6b827708c30b96183e6b15ae1578e.tar.gz
bcm5719-llvm-1ad4095d6bb6b827708c30b96183e6b15ae1578e.zip
Reduce the exposure of Triple::OSType in the ELF object writer. This will
avoid including ADT/Triple.h in many places when the target specific bits are moved. llvm-svn: 147059
Diffstat (limited to 'llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
index 34a5774c90d..f58e34a48c1 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
@@ -59,9 +59,9 @@ public:
class PPCELFObjectWriter : public MCELFObjectTargetWriter {
public:
- PPCELFObjectWriter(bool Is64Bit, Triple::OSType OSType, uint16_t EMachine,
+ PPCELFObjectWriter(bool Is64Bit, uint8_t OSABI, uint16_t EMachine,
bool HasRelocationAddend, bool isLittleEndian)
- : MCELFObjectTargetWriter(Is64Bit, OSType, EMachine, HasRelocationAddend) {}
+ : MCELFObjectTargetWriter(Is64Bit, OSABI, EMachine, HasRelocationAddend) {}
};
class PPCAsmBackend : public MCAsmBackend {
@@ -154,10 +154,10 @@ namespace {
};
class ELFPPCAsmBackend : public PPCAsmBackend {
- Triple::OSType OSType;
+ uint8_t OSABI;
public:
- ELFPPCAsmBackend(const Target &T, Triple::OSType OSType) :
- PPCAsmBackend(T), OSType(OSType) { }
+ ELFPPCAsmBackend(const Target &T, uint8_t OSABI) :
+ PPCAsmBackend(T), OSABI(OSABI) { }
void ApplyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
uint64_t Value) const {
@@ -177,7 +177,7 @@ namespace {
bool is64 = getPointerSize() == 8;
return createELFObjectWriter(new PPCELFObjectWriter(
/*Is64Bit=*/is64,
- OSType,
+ OSABI,
is64 ? ELF::EM_PPC64 : ELF::EM_PPC,
/*addend*/ true, /*isLittleEndian*/ false),
OS, /*IsLittleEndian=*/false);
@@ -197,5 +197,6 @@ MCAsmBackend *llvm::createPPCAsmBackend(const Target &T, StringRef TT) {
if (Triple(TT).isOSDarwin())
return new DarwinPPCAsmBackend(T);
- return new ELFPPCAsmBackend(T, Triple(TT).getOS());
+ uint8_t OSABI = MCELFObjectTargetWriter::getOSABI(Triple(TT).getOS());
+ return new ELFPPCAsmBackend(T, OSABI);
}
OpenPOWER on IntegriCloud