diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2010-08-17 17:02:29 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2010-08-17 17:02:29 +0000 |
commit | 896bd7e932e550d0eb8d11a56176e260027ec7f1 (patch) | |
tree | ade69eedfd2a95fd800b333dc3817c82124e8cd9 /llvm/lib/MC/ELFObjectWriter.cpp | |
parent | 72a364c1075023057868c584d1b8f751674ca860 (diff) | |
download | bcm5719-llvm-896bd7e932e550d0eb8d11a56176e260027ec7f1.tar.gz bcm5719-llvm-896bd7e932e550d0eb8d11a56176e260027ec7f1.zip |
One baby step towards i386 ELF, from Roman Divacky.
llvm-svn: 111247
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index a5ecfc905a0..610f6856067 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/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 |