mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Use raw_pwrite_stream in the object writer/streamer.
The ELF object writer will take advantage of that in the next commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234950 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -168,7 +168,7 @@ class ELFObjectWriter : public MCObjectWriter {
|
||||
}
|
||||
|
||||
public:
|
||||
ELFObjectWriter(MCELFObjectTargetWriter *MOTW, raw_ostream &OS,
|
||||
ELFObjectWriter(MCELFObjectTargetWriter *MOTW, raw_pwrite_stream &OS,
|
||||
bool IsLittleEndian)
|
||||
: MCObjectWriter(OS, IsLittleEndian), FWriter(IsLittleEndian),
|
||||
TargetObjectWriter(MOTW), NeedsGOT(false) {}
|
||||
@@ -1711,7 +1711,7 @@ bool ELFObjectWriter::isWeak(const MCSymbolData &SD) const {
|
||||
}
|
||||
|
||||
MCObjectWriter *llvm::createELFObjectWriter(MCELFObjectTargetWriter *MOTW,
|
||||
raw_ostream &OS,
|
||||
raw_pwrite_stream &OS,
|
||||
bool IsLittleEndian) {
|
||||
return new ELFObjectWriter(MOTW, OS, IsLittleEndian);
|
||||
}
|
||||
|
@@ -647,7 +647,7 @@ void MCELFStreamer::FinishImpl() {
|
||||
}
|
||||
|
||||
MCStreamer *llvm::createELFStreamer(MCContext &Context, MCAsmBackend &MAB,
|
||||
raw_ostream &OS, MCCodeEmitter *CE,
|
||||
raw_pwrite_stream &OS, MCCodeEmitter *CE,
|
||||
bool RelaxAll) {
|
||||
MCELFStreamer *S = new MCELFStreamer(Context, MAB, OS, CE);
|
||||
if (RelaxAll)
|
||||
|
@@ -54,7 +54,7 @@ private:
|
||||
void EmitDataRegionEnd();
|
||||
|
||||
public:
|
||||
MCMachOStreamer(MCContext &Context, MCAsmBackend &MAB, raw_ostream &OS,
|
||||
MCMachOStreamer(MCContext &Context, MCAsmBackend &MAB, raw_pwrite_stream &OS,
|
||||
MCCodeEmitter *Emitter, bool DWARFMustBeAtTheEnd, bool label)
|
||||
: MCObjectStreamer(Context, MAB, OS, Emitter), LabelSections(label),
|
||||
DWARFMustBeAtTheEnd(DWARFMustBeAtTheEnd), CreatedADWARFSection(false) {}
|
||||
@@ -491,7 +491,7 @@ void MCMachOStreamer::FinishImpl() {
|
||||
}
|
||||
|
||||
MCStreamer *llvm::createMachOStreamer(MCContext &Context, MCAsmBackend &MAB,
|
||||
raw_ostream &OS, MCCodeEmitter *CE,
|
||||
raw_pwrite_stream &OS, MCCodeEmitter *CE,
|
||||
bool RelaxAll, bool DWARFMustBeAtTheEnd,
|
||||
bool LabelSections) {
|
||||
MCMachOStreamer *S = new MCMachOStreamer(Context, MAB, OS, CE,
|
||||
|
@@ -24,7 +24,8 @@
|
||||
using namespace llvm;
|
||||
|
||||
MCObjectStreamer::MCObjectStreamer(MCContext &Context, MCAsmBackend &TAB,
|
||||
raw_ostream &OS, MCCodeEmitter *Emitter_)
|
||||
raw_pwrite_stream &OS,
|
||||
MCCodeEmitter *Emitter_)
|
||||
: MCStreamer(Context),
|
||||
Assembler(new MCAssembler(Context, TAB, *Emitter_,
|
||||
*TAB.createObjectWriter(OS), OS)),
|
||||
|
@@ -1007,7 +1007,7 @@ void MachObjectWriter::WriteObject(MCAssembler &Asm,
|
||||
}
|
||||
|
||||
MCObjectWriter *llvm::createMachObjectWriter(MCMachObjectTargetWriter *MOTW,
|
||||
raw_ostream &OS,
|
||||
raw_pwrite_stream &OS,
|
||||
bool IsLittleEndian) {
|
||||
return new MachObjectWriter(MOTW, OS, IsLittleEndian);
|
||||
}
|
||||
|
@@ -126,7 +126,7 @@ public:
|
||||
|
||||
bool UseBigObj;
|
||||
|
||||
WinCOFFObjectWriter(MCWinCOFFObjectTargetWriter *MOTW, raw_ostream &OS);
|
||||
WinCOFFObjectWriter(MCWinCOFFObjectTargetWriter *MOTW, raw_pwrite_stream &OS);
|
||||
|
||||
void reset() override {
|
||||
memset(&Header, 0, sizeof(Header));
|
||||
@@ -258,7 +258,7 @@ size_t COFFSection::size() {
|
||||
// WinCOFFObjectWriter class implementation
|
||||
|
||||
WinCOFFObjectWriter::WinCOFFObjectWriter(MCWinCOFFObjectTargetWriter *MOTW,
|
||||
raw_ostream &OS)
|
||||
raw_pwrite_stream &OS)
|
||||
: MCObjectWriter(OS, true), TargetObjectWriter(MOTW) {
|
||||
memset(&Header, 0, sizeof(Header));
|
||||
|
||||
@@ -1075,6 +1075,6 @@ void MCWinCOFFObjectTargetWriter::anchor() {}
|
||||
|
||||
MCObjectWriter *
|
||||
llvm::createWinCOFFObjectWriter(MCWinCOFFObjectTargetWriter *MOTW,
|
||||
raw_ostream &OS) {
|
||||
raw_pwrite_stream &OS) {
|
||||
return new WinCOFFObjectWriter(MOTW, OS);
|
||||
}
|
||||
|
@@ -39,7 +39,7 @@ using namespace llvm;
|
||||
|
||||
namespace llvm {
|
||||
MCWinCOFFStreamer::MCWinCOFFStreamer(MCContext &Context, MCAsmBackend &MAB,
|
||||
MCCodeEmitter &CE, raw_ostream &OS)
|
||||
MCCodeEmitter &CE, raw_pwrite_stream &OS)
|
||||
: MCObjectStreamer(Context, MAB, OS, &CE), CurSymbol(nullptr) {}
|
||||
|
||||
void MCWinCOFFStreamer::EmitInstToData(const MCInst &Inst,
|
||||
|
Reference in New Issue
Block a user