diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-12-22 00:37:50 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-12-22 00:37:50 +0000 |
commit | a0124055b1be0fa6adce15859c4bb0c2d598bcf7 (patch) | |
tree | 4e8c16aa548167ad2b42705ab54fce7cbc200ad4 /llvm/lib/MC/ELFObjectWriter.h | |
parent | 6faa1533fbeb76235690d23131dacd14e4d38850 (diff) | |
download | bcm5719-llvm-a0124055b1be0fa6adce15859c4bb0c2d598bcf7.tar.gz bcm5719-llvm-a0124055b1be0fa6adce15859c4bb0c2d598bcf7.zip |
Move the ARM specific parts of the ELF writer to Target/ARM.
llvm-svn: 147115
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.h')
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.h | 36 |
1 files changed, 4 insertions, 32 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.h b/llvm/lib/MC/ELFObjectWriter.h index 59734e8a272..71140f10e80 100644 --- a/llvm/lib/MC/ELFObjectWriter.h +++ b/llvm/lib/MC/ELFObjectWriter.h @@ -152,7 +152,7 @@ class ELFObjectWriter : public MCObjectWriter { const MCFragment &F, const MCFixup &Fixup, bool IsPCRel) const { - return NULL; + return TargetObjectWriter->ExplicitRelSym(Asm, Target, F, Fixup, IsPCRel); } bool is64Bit() const { return TargetObjectWriter->is64Bit(); } @@ -243,8 +243,9 @@ class ELFObjectWriter : public MCObjectWriter { virtual void WriteHeader(uint64_t SectionDataSize, unsigned NumberOfSections); - /// Default e_flags = 0 - virtual unsigned getEFlags() const { return 0; } + virtual unsigned getEFlags() const { + return TargetObjectWriter->getEFlags(); + } virtual void WriteSymbolEntry(MCDataFragment *SymtabF, MCDataFragment *ShndxF, @@ -356,35 +357,6 @@ class ELFObjectWriter : public MCObjectWriter { uint64_t &RelocOffset) {} }; - //===- ARMELFObjectWriter -------------------------------------------===// - - class ARMELFObjectWriter : public ELFObjectWriter { - public: - // FIXME: MCAssembler can't yet return the Subtarget, - enum { DefaultEABIVersion = 0x05000000U }; - - ARMELFObjectWriter(MCELFObjectTargetWriter *MOTW, - raw_ostream &_OS, - bool IsLittleEndian); - - virtual ~ARMELFObjectWriter(); - - virtual unsigned getEFlags() const; - protected: - virtual const MCSymbol *ExplicitRelSym(const MCAssembler &Asm, - const MCValue &Target, - const MCFragment &F, - const MCFixup &Fixup, - bool IsPCRel) const; - - virtual unsigned GetRelocType(const MCValue &Target, const MCFixup &Fixup, - bool IsPCRel, bool IsRelocWithSymbol, - int64_t Addend) const; - private: - unsigned GetRelocTypeInner(const MCValue &Target, - const MCFixup &Fixup, bool IsPCRel) const; - }; - //===- PPCELFObjectWriter -------------------------------------------===// class PPCELFObjectWriter : public ELFObjectWriter { |