[llvm-commits] [PATCH 0/5] ELF object support

Matt Fleming matt at console-pimps.org
Mon Jul 26 13:00:18 PDT 2010

This series contains the patches that have been sitting in my github
tree that me and Roman Divacky have been working on for a while now. It
isn't a complete implementation but is enough to get a semi-complete
relocatable ELF file emitted.

I've tried to split the patches in a sensible way; bits required by the
ELF code but not ELF-specific come first, then the code ELF support,
then a patch to wire it up for X86.

All comments and feedback welcome.

Matt Fleming (5):
  Some ELF sections contain fixed-sized entries. Provide a way to
    record the entry size of a section.
  Record a symbol's size which is needed for ELF symbol tables.
  Introduce a helper method to add a section to the end of a layout.
    This will be used by the ELF ObjectWriter code to add the metadata
    sections (symbol table, etc) to the end of an object file.
  Add ELF ObjectWriter and Streamer support.
  Hookup the ELF support for X86.

 include/llvm/MC/ELFObjectWriter.h   |   46 ++
 include/llvm/MC/MCAssembler.h       |   32 ++
 include/llvm/MC/MCStreamer.h        |    6 +
 include/llvm/Support/ELF.h          |   14 +
 lib/MC/CMakeLists.txt               |    2 +
 lib/MC/ELFObjectWriter.cpp          |  873 +++++++++++++++++++++++++++++++++++
 lib/MC/MCAssembler.cpp              |   38 ++-
 lib/MC/MCELFStreamer.cpp            |  496 ++++++++++++++++++++
 lib/Target/X86/X86AsmBackend.cpp    |   17 +-
 lib/Target/X86/X86TargetMachine.cpp |    2 +
 10 files changed, 1521 insertions(+), 5 deletions(-)
 create mode 100644 include/llvm/MC/ELFObjectWriter.h
 create mode 100644 lib/MC/ELFObjectWriter.cpp
 create mode 100644 lib/MC/MCELFStreamer.cpp

More information about the llvm-commits mailing list