x86_64 now uses the correct ELF e_machine type
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Sat, 6 Jun 2009 04:29:16 +0000 (04:29 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Sat, 6 Jun 2009 04:29:16 +0000 (04:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72986 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ELFWriterInfo.cpp
lib/Target/X86/X86ELFWriterInfo.h
lib/Target/X86/X86TargetMachine.cpp

index 4c3cc828f46efb383ced3ef272f6dc08a13e1f67..260474160cd65bb7891ad5781d1e8cf24dbc5092 100644 (file)
@@ -14,5 +14,6 @@
 #include "X86ELFWriterInfo.h"
 using namespace llvm;
 
-X86ELFWriterInfo::X86ELFWriterInfo() : TargetELFWriterInfo(EM_386) {}
+X86ELFWriterInfo::X86ELFWriterInfo(bool is64Bit) :
+  TargetELFWriterInfo(is64Bit ? EM_X86_64 : EM_386) {}
 X86ELFWriterInfo::~X86ELFWriterInfo() {}
index 06e051a34ac9aee8a3413ed7975e41ca84ac9d5e..acfa50111d2ac34b24b64177f6d0f4b054651522 100644 (file)
@@ -20,7 +20,7 @@ namespace llvm {
 
   class X86ELFWriterInfo : public TargetELFWriterInfo {
   public:
-    X86ELFWriterInfo();
+    X86ELFWriterInfo(bool is64Bit);
     virtual ~X86ELFWriterInfo();
   };
 
index c2353c183c36de8edd4758bef6a47d6069ba8cfd..88ab247b0d55cc6b4745ff9eaec9021c7342393d 100644 (file)
@@ -133,7 +133,8 @@ X86TargetMachine::X86TargetMachine(const Module &M, const std::string &FS,
     DataLayout(Subtarget.getDataLayout()),
     FrameInfo(TargetFrameInfo::StackGrowsDown,
               Subtarget.getStackAlignment(), Subtarget.is64Bit() ? -8 : -4),
-    InstrInfo(*this), JITInfo(*this), TLInfo(*this) {
+    InstrInfo(*this), JITInfo(*this), TLInfo(*this),
+    ELFWriterInfo(Subtarget.is64Bit()) {
   DefRelocModel = getRelocationModel();
   // FIXME: Correctly select PIC model for Win64 stuff
   if (getRelocationModel() == Reloc::Default) {