diff options
author | Akira Hatanaka <ahatanaka@mips.com> | 2011-09-30 21:55:40 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@mips.com> | 2011-09-30 21:55:40 +0000 |
commit | 291512f96fe807da7c1a3a6e001feb1017b56e26 (patch) | |
tree | 830f7d5b31e129e12e359985b330446a92bd78cd /lib/MC | |
parent | 09a2e0f794e740c6f9572e157b7ebd960eb10d2d (diff) | |
download | external_llvm-291512f96fe807da7c1a3a6e001feb1017b56e26.zip external_llvm-291512f96fe807da7c1a3a6e001feb1017b56e26.tar.gz external_llvm-291512f96fe807da7c1a3a6e001feb1017b56e26.tar.bz2 |
Add definition of MipsELFObjectWriter.
Patch by Reed Kotler at Mips Technologies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140891 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r-- | lib/MC/ELFObjectWriter.cpp | 18 | ||||
-rw-r--r-- | lib/MC/ELFObjectWriter.h | 15 |
2 files changed, 33 insertions, 0 deletions
diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp index 99a675d..8931fca 100644 --- a/lib/MC/ELFObjectWriter.cpp +++ b/lib/MC/ELFObjectWriter.cpp @@ -1264,6 +1264,8 @@ MCObjectWriter *llvm::createELFObjectWriter(MCELFObjectTargetWriter *MOTW, case ELF::EM_PPC: case ELF::EM_PPC64: return new PPCELFObjectWriter(MOTW, OS, IsLittleEndian); break; + case ELF::EM_MIPS: + return new MipsELFObjectWriter(MOTW, OS, IsLittleEndian); break; default: llvm_unreachable("Unsupported architecture"); break; } } @@ -1809,3 +1811,19 @@ unsigned X86ELFObjectWriter::GetRelocType(const MCValue &Target, return Type; } + +MipsELFObjectWriter::MipsELFObjectWriter(MCELFObjectTargetWriter *MOTW, + raw_ostream &_OS, + bool IsLittleEndian) + : ELFObjectWriter(MOTW, _OS, IsLittleEndian) {} + +MipsELFObjectWriter::~MipsELFObjectWriter() {} + +unsigned MipsELFObjectWriter::GetRelocType(const MCValue &Target, + const MCFixup &Fixup, + bool IsPCRel, + bool IsRelocWithSymbol, + int64_t Addend) { + // tbd + return 1; +} diff --git a/lib/MC/ELFObjectWriter.h b/lib/MC/ELFObjectWriter.h index d657d13..862b085 100644 --- a/lib/MC/ELFObjectWriter.h +++ b/lib/MC/ELFObjectWriter.h @@ -426,6 +426,21 @@ class ELFObjectWriter : public MCObjectWriter { bool IsPCRel, bool IsRelocWithSymbol, int64_t Addend); }; + + //===- MipsELFObjectWriter -------------------------------------------===// + + class MipsELFObjectWriter : public ELFObjectWriter { + public: + MipsELFObjectWriter(MCELFObjectTargetWriter *MOTW, + raw_ostream &_OS, + bool IsLittleEndian); + + virtual ~MipsELFObjectWriter(); + protected: + virtual unsigned GetRelocType(const MCValue &Target, const MCFixup &Fixup, + bool IsPCRel, bool IsRelocWithSymbol, + int64_t Addend); + }; } #endif |