diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:01:22 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:01:22 +0000 |
commit | 71d5a2540a98c81f5bcaeb48805e0e2881f530ef (patch) | |
tree | 5343938942df402b49ec7300a1c25a2d4ccd5821 /lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp | |
parent | 31bbf64f3a4974a2d6c8b3b27ad2f519caf74057 (diff) |
Diffstat (limited to 'lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp')
-rw-r--r-- | lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp b/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp index aef9bd3a8e2a..9266f0e216d1 100644 --- a/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp +++ b/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp @@ -20,7 +20,11 @@ #include "Mips.h" #include "MipsELFStreamer.h" #include "MipsMCNaCl.h" +#include "llvm/MC/MCAssembler.h" #include "llvm/MC/MCELFStreamer.h" +#include "llvm/MC/MCInst.h" +#include "llvm/Support/ErrorHandling.h" +#include <cassert> using namespace llvm; @@ -38,14 +42,14 @@ class MipsNaClELFStreamer : public MipsELFStreamer { public: MipsNaClELFStreamer(MCContext &Context, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter) - : MipsELFStreamer(Context, TAB, OS, Emitter), PendingCall(false) {} + : MipsELFStreamer(Context, TAB, OS, Emitter) {} - ~MipsNaClELFStreamer() override {} + ~MipsNaClELFStreamer() override = default; private: // Whether we started the sandboxing sequence for calls. Calls are bundled // with branch delays and aligned to the bundle end. - bool PendingCall; + bool PendingCall = false; bool isIndirectJump(const MCInst &MI) { if (MI.getOpcode() == Mips::JALR) { @@ -135,8 +139,8 @@ private: public: /// This function is the one used to emit instruction data into the ELF /// streamer. We override it to mask dangerous instructions. - void EmitInstruction(const MCInst &Inst, - const MCSubtargetInfo &STI) override { + void EmitInstruction(const MCInst &Inst, const MCSubtargetInfo &STI, + bool) override { // Sandbox indirect jumps. if (isIndirectJump(Inst)) { if (PendingCall) @@ -265,4 +269,4 @@ MCELFStreamer *createMipsNaClELFStreamer(MCContext &Context, MCAsmBackend &TAB, return S; } -} +} // end namespace llvm |