1 //===-- llvm/MC/ELFObjectWriter.h - ELF File Writer ---------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_MC_ELFOBJECTWRITER_H
11 #define LLVM_MC_ELFOBJECTWRITER_H
13 #include "llvm/MC/MCObjectWriter.h"
14 #include "llvm/Support/raw_ostream.h"
24 class ELFObjectWriter : public MCObjectWriter {
28 ELFObjectWriter(raw_ostream &OS, bool Is64Bit, bool IsLittleEndian = true,
29 bool HasRelocationAddend = true);
31 virtual ~ELFObjectWriter();
33 virtual void ExecutePostLayoutBinding(MCAssembler &Asm);
35 virtual void RecordRelocation(const MCAssembler &Asm,
36 const MCAsmLayout &Layout,
37 const MCFragment *Fragment,
38 const MCFixup &Fixup, MCValue Target,
39 uint64_t &FixedValue);
41 virtual void WriteObject(const MCAssembler &Asm, const MCAsmLayout &Layout);
44 } // End llvm namespace