MCELFObjectWriter.h revision 6024c97ffa15766bc0f200ffd309d9e017ae0d4b
1//===-- llvm/MC/MCELFObjectWriter.h - ELF Object Writer ---------*- 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#ifndef LLVM_MC_MCELFOBJECTWRITER_H
11#define LLVM_MC_MCELFOBJECTWRITER_H
12
13#include "llvm/MC/MCObjectWriter.h"
14#include "llvm/Support/DataTypes.h"
15
16namespace llvm {
17class MCELFObjectTargetWriter {
18protected:
19  MCELFObjectTargetWriter();
20
21public:
22  virtual ~MCELFObjectTargetWriter();
23};
24
25/// \brief Construct a new ELF writer instance.
26///
27/// \param MOTW - The target specific ELF writer subclass.
28/// \param OS - The stream to write to.
29/// \returns The constructed object writer.
30MCObjectWriter *createELFObjectWriter(MCELFObjectTargetWriter *MOTW,
31                                      raw_ostream &OS, bool is64Bit,
32                                      Triple::OSType OSType, uint16_t EMachine,
33                                      bool IsLittleEndian,
34                                      bool HasRelocationAddend);
35} // End llvm namespace
36
37#endif
38