[llvm-tapi] initial commit, supports ELF text stubs
authorArmando Montanez <amontanez@google.com>
Mon, 3 Dec 2018 19:30:52 +0000 (19:30 +0000)
committerArmando Montanez <amontanez@google.com>
Mon, 3 Dec 2018 19:30:52 +0000 (19:30 +0000)
commit1e4b3709bb7d8a67a3382bf1e72364b0a9bd7429
treef7b20de517b562360b7669b670e156d1dbc7875d
parent00f1d76738a50374019a47d30d09ee1829fe4a65
[llvm-tapi] initial commit, supports ELF text stubs

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

TextAPI 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:

 - TextAPI library
 - .tbe read support
 - .tbe write (to raw_ostream) support

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

Differential Revision: https://reviews.llvm.org/D53051

llvm-svn: 348170
llvm/include/llvm/TextAPI/ELF/ELFStub.h [new file with mode: 0644]
llvm/include/llvm/TextAPI/ELF/TBEHandler.h [new file with mode: 0644]
llvm/lib/CMakeLists.txt
llvm/lib/LLVMBuild.txt
llvm/lib/TextAPI/CMakeLists.txt [new file with mode: 0644]
llvm/lib/TextAPI/ELF/ELFStub.cpp [new file with mode: 0644]
llvm/lib/TextAPI/ELF/TBEHandler.cpp [new file with mode: 0644]
llvm/lib/TextAPI/LLVMBuild.txt [new file with mode: 0644]
llvm/unittests/CMakeLists.txt
llvm/unittests/TextAPI/CMakeLists.txt [new file with mode: 0644]
llvm/unittests/TextAPI/ELFYAMLTest.cpp [new file with mode: 0644]