[PATCH] D57975: [ObjectYAML][yaml2obj][ELF] Add support for writing dynamic entries

Armando Montanez via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 8 13:55:58 PST 2019


amontanez created this revision.
amontanez added reviewers: grimar, ruiu, jhenderson, jakehehrlich, silvas, atanasyan.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.

This change introduces basic support for adding .dynamic entries to an ELF binary produced with yaml2obj without having to rely on the raw `Contents`. The old `Contents` method is still supported. This is a refined subset of D56569 <https://reviews.llvm.org/D56569>.

This is the first patch seeking to implement the associated RFC here: http://lists.llvm.org/pipermail/llvm-dev/2019-January/129231.html

Added:

- YAML traits for .dynamic section contents.
- yaml2obj writes .dynamic entries.
- d_tag can be populated by using the names of the tags.
- Values can be numbers, or section names that are converted to addresses.


Repository:
  rL LLVM

https://reviews.llvm.org/D57975

Files:
  llvm/include/llvm/ObjectYAML/ELFYAML.h
  llvm/lib/ObjectYAML/ELFYAML.cpp
  llvm/test/tools/yaml2obj/dynamic-entries-and-content.yaml
  llvm/test/tools/yaml2obj/dynamic-entries-invalid-name.yaml
  llvm/test/tools/yaml2obj/dynamic-entries.yaml
  llvm/test/tools/yaml2obj/dynamic-entry-invalid-val.yaml
  llvm/test/tools/yaml2obj/dynamic-raw-invalid-size.yaml
  llvm/tools/yaml2obj/yaml2elf.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57975.186037.patch
Type: text/x-patch
Size: 16962 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190208/608f3650/attachment.bin>


More information about the llvm-commits mailing list