From: Benjamin Kramer Date: Tue, 17 Aug 2010 17:02:29 +0000 (+0000) Subject: One baby step towards i386 ELF, from Roman Divacky. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=eb97677764beb115c658ac559d3649c6c4068eb9;p=oota-llvm.git One baby step towards i386 ELF, from Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111247 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp index a5ecfc905a0..610f6856067 100644 --- a/lib/MC/ELFObjectWriter.cpp +++ b/lib/MC/ELFObjectWriter.cpp @@ -316,12 +316,13 @@ void ELFObjectWriterImpl::WriteHeader(uint64_t SectionDataSize, Write16(ELF::ET_REL); // e_type // FIXME: Make this configurable - Write16(ELF::EM_X86_64); // e_machine = target + Write16(Is64Bit ? ELF::EM_X86_64 : ELF::EM_386); // e_machine = target Write32(ELF::EV_CURRENT); // e_version WriteWord(0); // e_entry, no entry point in .o file WriteWord(0); // e_phoff, no program header for .o - WriteWord(SectionDataSize + 64); // e_shoff = sec hdr table off in bytes + WriteWord(SectionDataSize + (Is64Bit ? sizeof(ELF::Elf64_Ehdr) : + sizeof(ELF::Elf32_Ehdr))); // e_shoff = sec hdr table off in bytes // FIXME: Make this configurable. Write32(0); // e_flags = whatever the target wants