[PATCH] D53051: [llvm-tapi] initial commit, supports reading ELF

Armando Montanez via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 9 15:53:00 PDT 2018


amontanez created this revision.
amontanez added reviewers: jakehehrlich, mcgrathr, phosek, ributzka, steven_wu, echristo, jhenderson, beanz.
Herald added subscribers: hiraditya, mgorny.

http://lists.llvm.org/pipermail/llvm-dev/2018-September/126472.html

llvm-tapi is a library and accompanying tool that allows conversion between binary shared object stubs and textual counterparts. The motivations and uses cases for this are explained thoroughly in the llvm-dev proposal [1]. This initial commit proposes a potential structure for the TAPI library, also including support for reading/writing text-based ELF stubs (.tbe) in addition to preliminary support for reading binary ELF files. The goal for this patch is to ensure the project architecture appropriately welcomes integration of Mach-O stubbing from Apple's TAPI [2].

Added:

- llvm-tapi library
- llvm-tapi tool
- .tbe read support
- .tbe write (to raw_ostream) support
- ELF read support

[1] http://lists.llvm.org/pipermail/llvm-dev/2018-September/126472.html
[2] https://github.com/ributzka/tapi


Repository:
  rL LLVM

https://reviews.llvm.org/D53051

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/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: D53051.168884.patch
Type: text/x-patch
Size: 45231 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181009/a085d654/attachment.bin>


More information about the llvm-commits mailing list