Use raw_pwrite_stream in the object writer/streamer.
[oota-llvm.git] / lib / Target / R600 / MCTargetDesc / AMDGPUELFObjectWriter.cpp
index 88556ba8a1ec2b53fd0898ab2e5c14b0ea39a7b5..59f45ff02d88a6017f12850f18fa0269cb4fcb8b 100644 (file)
@@ -10,6 +10,7 @@
 
 #include "AMDGPUMCTargetDesc.h"
 #include "llvm/MC/MCELFObjectWriter.h"
+#include "llvm/MC/MCFixup.h"
 
 using namespace llvm;
 
@@ -20,8 +21,8 @@ public:
   AMDGPUELFObjectWriter();
 protected:
   unsigned GetRelocType(const MCValue &Target, const MCFixup &Fixup,
-                        bool IsPCRel, bool IsRelocWithSymbol) const override {
-    llvm_unreachable("Not implemented");
+                        bool IsPCRel) const override {
+    return Fixup.getKind();
   }
 
 };
@@ -32,7 +33,7 @@ protected:
 AMDGPUELFObjectWriter::AMDGPUELFObjectWriter()
   : MCELFObjectTargetWriter(false, 0, 0, false) { }
 
-MCObjectWriter *llvm::createAMDGPUELFObjectWriter(raw_ostream &OS) {
+MCObjectWriter *llvm::createAMDGPUELFObjectWriter(raw_pwrite_stream &OS) {
   MCELFObjectTargetWriter *MOTW = new AMDGPUELFObjectWriter();
   return createELFObjectWriter(MOTW, OS, true);
 }