AMDGPU: Correctly set EI_OSABI based on the os

Differential Revision: https://reviews.llvm.org/D38555

llvm-svn: 314943
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
index 6abe7f3..9d9b5ee 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
@@ -22,7 +22,7 @@
 
 class AMDGPUELFObjectWriter : public MCELFObjectTargetWriter {
 public:
-  AMDGPUELFObjectWriter(bool Is64Bit, bool HasRelocationAddend);
+  AMDGPUELFObjectWriter(bool Is64Bit, uint8_t OSABI, bool HasRelocationAddend);
 
 protected:
   unsigned getRelocType(MCContext &Ctx, const MCValue &Target,
@@ -33,10 +33,9 @@
 } // end anonymous namespace
 
 AMDGPUELFObjectWriter::AMDGPUELFObjectWriter(bool Is64Bit,
+                                             uint8_t OSABI,
                                              bool HasRelocationAddend)
-  : MCELFObjectTargetWriter(Is64Bit,
-                            ELF::ELFOSABI_AMDGPU_HSA,
-                            ELF::EM_AMDGPU,
+  : MCELFObjectTargetWriter(Is64Bit, OSABI, ELF::EM_AMDGPU,
                             HasRelocationAddend) {}
 
 unsigned AMDGPUELFObjectWriter::getRelocType(MCContext &Ctx,
@@ -83,9 +82,10 @@
 }
 
 MCObjectWriter *llvm::createAMDGPUELFObjectWriter(bool Is64Bit,
+                                                  uint8_t OSABI,
                                                   bool HasRelocationAddend,
                                                   raw_pwrite_stream &OS) {
   MCELFObjectTargetWriter *MOTW =
-      new AMDGPUELFObjectWriter(Is64Bit, HasRelocationAddend);
+      new AMDGPUELFObjectWriter(Is64Bit, OSABI, HasRelocationAddend);
   return createELFObjectWriter(MOTW, OS, true);
 }