[PATCH] D53682: [WIP] [llvm-tapi] ELF binary writing initial draft

Armando Montanez via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 13 12:54:30 PST 2018


amontanez updated this revision to Diff 173916.
amontanez edited the summary of this revision.
amontanez added a comment.

Many changes. Binary stubs produced by this tool are now linkable in the small subset of test cases I've tried.

Added:

- .dynamic, program headers.
- Support for weak symbols.
- Support for DT_NEEDED entries.

TODO:

- Coding style hasn't been fixed. [1]
- Currently not using FileOutputBuffer.
- Program header implementation subject to change.
- Not updated to match the initial patch's change in structure/naming/etc. [1]
- Needs more tests. [1]
- Many more TODOs listed in the code.

[1] These will be addressed as pieces of this patch are upstreamed.


Repository:
  rL LLVM

https://reviews.llvm.org/D53682

Files:
  llvm/include/llvm/TAPI/ELFObjHandler.h
  llvm/include/llvm/TAPI/ELFStubFile.h
  llvm/include/llvm/TAPI/ELFTextStubHandler.h
  llvm/include/llvm/TAPI/File.h
  llvm/include/llvm/TAPI/FileHandler.h
  llvm/include/llvm/TAPI/Registry.h
  llvm/lib/CMakeLists.txt
  llvm/lib/LLVMBuild.txt
  llvm/lib/TAPI/CMakeLists.txt
  llvm/lib/TAPI/ELFObjHandler.cpp
  llvm/lib/TAPI/ELFTextStubHandler.cpp
  llvm/lib/TAPI/LLVMBuild.txt
  llvm/lib/TAPI/Registry.cpp
  llvm/test/CMakeLists.txt
  llvm/test/tools/llvm-tapi/basic-elf-read.test
  llvm/test/tools/llvm-tapi/basic-tbe-read.test
  llvm/test/tools/llvm-tapi/read-soname.test
  llvm/test/tools/llvm-tapi/tbe-elf-tbe.test
  llvm/test/tools/llvm-tapi/tbe-no-symbols.test
  llvm/test/tools/llvm-tapi/write-ehdr-32be.test
  llvm/test/tools/llvm-tapi/write-ehdr-64le.test
  llvm/test/tools/llvm-tapi/write-syms-64le.test
  llvm/tools/LLVMBuild.txt
  llvm/tools/llvm-tapi/CMakeLists.txt
  llvm/tools/llvm-tapi/LLVMBuild.txt
  llvm/tools/llvm-tapi/llvm-tapi.cpp
  llvm/unittests/CMakeLists.txt
  llvm/unittests/TAPI/CMakeLists.txt
  llvm/unittests/TAPI/ELFTest.cpp
  llvm/unittests/TAPI/YAMLTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53682.173916.patch
Type: text/x-patch
Size: 82791 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181113/a2c6a46d/attachment-0001.bin>


More information about the llvm-commits mailing list