Use raw_pwrite_stream in the object writer/streamer.
[oota-llvm.git] / lib / Target / X86 / MCTargetDesc / X86ELFObjectWriter.cpp
index 1b70a7c3daabcb94e087d2816770cc78f80c0da7..45088835cfb9078719a19afec18be3a556ddc2bb 100644 (file)
@@ -22,7 +22,8 @@ namespace {
   public:
     X86ELFObjectWriter(bool IsELF64, uint8_t OSABI, uint16_t EMachine);
 
-    virtual ~X86ELFObjectWriter();
+    ~X86ELFObjectWriter() override;
+
   protected:
     unsigned GetRelocType(const MCValue &Target, const MCFixup &Fixup,
                           bool IsPCRel) const override;
@@ -174,6 +175,7 @@ static X86_32RelType getType32(X86_64RelType T) {
   case RT64_8:
     return RT32_8;
   }
+  llvm_unreachable("unexpected relocation type!");
 }
 
 static unsigned getRelocType32(MCSymbolRefExpr::VariantKind Modifier,
@@ -247,9 +249,8 @@ unsigned X86ELFObjectWriter::GetRelocType(const MCValue &Target,
   return getRelocType32(Modifier, getType32(Type), IsPCRel);
 }
 
-MCObjectWriter *llvm::createX86ELFObjectWriter(raw_ostream &OS,
-                                               bool IsELF64,
-                                               uint8_t OSABI,
+MCObjectWriter *llvm::createX86ELFObjectWriter(raw_pwrite_stream &OS,
+                                               bool IsELF64, uint8_t OSABI,
                                                uint16_t EMachine) {
   MCELFObjectTargetWriter *MOTW =
     new X86ELFObjectWriter(IsELF64, OSABI, EMachine);