llvm-project/llvm/tools/yaml2obj
Simon Atanasyan 42ac0dd3c3 [yaml2obj][ELF] ELF Relocations Support.
The patch implements support for both relocation record formats: Elf_Rel
and Elf_Rela. It is possible to define relocation against symbol only.
Relocations against sections will be implemented later. Now yaml2obj
recognizes X86_64, MIPS and Hexagon relocation types.

Example of relocation section specification:
Sections:
- Name: .text
  Type: SHT_PROGBITS
  Content: "0000000000000000"
  AddressAlign: 16
  Flags: [SHF_ALLOC]

- Name: .rel.text
  Type: SHT_REL
  Info: .text
  AddressAlign: 4
  Relocations:
    - Offset: 0x1
      Symbol: glob1
      Type: R_MIPS_32
    - Offset: 0x2
      Symbol: glob2
      Type: R_MIPS_CALL16

The patch reviewed by Michael Spencer, Sean Silva, Shankar Easwaran.

llvm-svn: 206017
2014-04-11 04:13:39 +00:00
..
CMakeLists.txt llvm/tools: Prune redundant target_link_libraries. 2014-01-31 17:40:06 +00:00
Makefile Fix the configure build. 2013-05-17 23:20:58 +00:00
yaml2coff.cpp Object: Provide a richer means of describing auxiliary symbols 2014-03-19 04:47:47 +00:00
yaml2elf.cpp [yaml2obj][ELF] ELF Relocations Support. 2014-04-11 04:13:39 +00:00
yaml2obj.cpp Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
yaml2obj.h [yaml2obj] Initial ELF support. 2013-06-10 23:44:15 +00:00