[llvm-commits] [PATCH 0/5] ELF object support
rdivacky at freebsd.org
Mon Jul 26 13:04:33 PDT 2010
and if you apply:
you can use "clang -integrated-as" directly. this patch should/could be
committed regardless of the ELF patches as we got MachO and COFF.
On Mon, Jul 26, 2010 at 09:00:18PM +0100, Matt Fleming wrote:
> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 196 bytes
Desc: not available
More information about the llvm-commits