WinCOFFObjectWriter.cpp revision b162290e39afd49d4c7d342333b331bc96232720
1//===-- llvm/MC/WinCOFFObjectWriter.cpp -------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file contains an implementation of a Win32 COFF object file writer. 11// 12//===----------------------------------------------------------------------===// 13 14#define DEBUG_TYPE "WinCOFFObjectWriter" 15#include "llvm/MC/MCObjectWriter.h" 16#include "llvm/MC/MCValue.h" 17#include "llvm/MC/MCAssembler.h" 18#include "llvm/MC/MCAsmLayout.h" 19using namespace llvm; 20 21namespace { 22 23 class WinCOFFObjectWriter : public MCObjectWriter { 24 public: 25 WinCOFFObjectWriter(raw_ostream &OS); 26 27 // MCObjectWriter interface implementation. 28 29 void ExecutePostLayoutBinding(MCAssembler &Asm); 30 31 void RecordRelocation(const MCAssembler &Asm, 32 const MCAsmLayout &Layout, 33 const MCFragment *Fragment, 34 const MCFixup &Fixup, 35 MCValue Target, 36 uint64_t &FixedValue); 37 38 void WriteObject(const MCAssembler &Asm, const MCAsmLayout &Layout); 39 }; 40} 41 42WinCOFFObjectWriter::WinCOFFObjectWriter(raw_ostream &OS) 43 : MCObjectWriter(OS, true) { 44} 45 46//////////////////////////////////////////////////////////////////////////////// 47// MCObjectWriter interface implementations 48 49void WinCOFFObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm) { 50} 51 52void WinCOFFObjectWriter::RecordRelocation(const MCAssembler &Asm, 53 const MCAsmLayout &Layout, 54 const MCFragment *Fragment, 55 const MCFixup &Fixup, 56 MCValue Target, 57 uint64_t &FixedValue) { 58} 59 60void WinCOFFObjectWriter::WriteObject(const MCAssembler &Asm, 61 const MCAsmLayout &Layout) { 62} 63 64//------------------------------------------------------------------------------ 65// WinCOFFObjectWriter factory function 66 67namespace llvm { 68 MCObjectWriter *createWinCOFFObjectWriter(raw_ostream &OS) { 69 return new WinCOFFObjectWriter(OS); 70 } 71} 72