Fix an incomplete refactoring of the ppc backend. Thanks to rdivacky for reporting
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 22 Dec 2011 18:38:06 +0000 (18:38 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 22 Dec 2011 18:38:06 +0000 (18:38 +0000)
it. It does need some some tests...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147154 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp

index f58e34a48c1242b163d0296d73c3999bead83e25..51d1fc58d38b91698108717f093f0d9983f4a034 100644 (file)
@@ -57,13 +57,6 @@ public:
                         MCValue Target, uint64_t &FixedValue) {}
 };
 
-class PPCELFObjectWriter : public MCELFObjectTargetWriter {
-public:
-  PPCELFObjectWriter(bool Is64Bit, uint8_t OSABI, uint16_t EMachine,
-                     bool HasRelocationAddend, bool isLittleEndian)
-    : MCELFObjectTargetWriter(Is64Bit, OSABI, EMachine, HasRelocationAddend) {}
-};
-
 class PPCAsmBackend : public MCAsmBackend {
 const Target &TheTarget;
 public:
@@ -175,12 +168,7 @@ namespace {
     
     MCObjectWriter *createObjectWriter(raw_ostream &OS) const {
       bool is64 = getPointerSize() == 8;
-      return createELFObjectWriter(new PPCELFObjectWriter(
-                                      /*Is64Bit=*/is64,
-                                      OSABI,
-                                      is64 ? ELF::EM_PPC64 : ELF::EM_PPC,                                      
-                                      /*addend*/ true, /*isLittleEndian*/ false),
-                                   OS, /*IsLittleEndian=*/false);
+      return createPPCELFObjectWriter(OS, is64, OSABI);
     }
     
     virtual bool doesSectionRequireSymbols(const MCSection &Section) const {
index 90f674d0b907e8079e7d205d43e0647b76db411a..a19798157bf3bd10ea40bfe15af07214f5414d32 100644 (file)
@@ -31,7 +31,7 @@ namespace {
 PPCELFObjectWriter::PPCELFObjectWriter(bool Is64Bit, uint8_t OSABI)
   : MCELFObjectTargetWriter(Is64Bit, OSABI,
                             Is64Bit ?  ELF::EM_PPC64 : ELF::EM_PPC,
-                            /*HasRelocationAddend*/ false) {}
+                            /*HasRelocationAddend*/ true) {}
 
 PPCELFObjectWriter::~PPCELFObjectWriter() {
 }
@@ -99,5 +99,5 @@ MCObjectWriter *llvm::createPPCELFObjectWriter(raw_ostream &OS,
                                                bool Is64Bit,
                                                uint8_t OSABI) {
   MCELFObjectTargetWriter *MOTW = new PPCELFObjectWriter(Is64Bit, OSABI);
-  return createELFObjectWriter(MOTW, OS,  /*IsLittleEndian=*/true);
+  return createELFObjectWriter(MOTW, OS,  /*IsLittleEndian=*/false);
 }