Commit Graph

11 Commits

Author SHA1 Message Date
Armando Montanez 2b0c69e15d Revert "[llvm-tapi] Don't override SequenceTraits for std::string"
Revert r348551 since it triggered some warnings that don't appear to have a quick fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348560 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-07 01:31:28 +00:00
Armando Montanez 1a3341c24e [llvm-tapi] Don't override SequenceTraits for std::string
Change the ELF YAML implementation of TextAPI so NeededLibs uses flow
sequence vector correctly instead of overriding the YAML implementation
for std::vector<std::string>>.

This should fix the test failure with the LLVM_LINK_LLVM_DYLIB build mentioned in D55381.

Still passes existing tests that cover this.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348551 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-06 23:59:32 +00:00
Martin Storsjo f3a84c1993 [TextAPI] Remove a superfluous semicolon, fixing GCC warnings. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348179 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-03 20:02:15 +00:00
Armando Montanez bab257c102 [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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348170 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-03 19:30:52 +00:00
Hans Wennborg b075bab277 Revert r347823 "[TextAPI] Switch back to a custom Platform enum."
It broke the Windows buildbots, e.g.
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/21829/steps/test/logs/stdio

This also reverts the follow-ups: r347824, r347827, and r347836.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347874 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-29 15:47:24 +00:00
Juergen Ributzka 567107e1f0 Revert "[TextAPI] Fix a memory leak in the TBD reader."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347838 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-29 06:32:49 +00:00
Juergen Ributzka c279e891e9 [TextAPI] Fix a memory leak in the TBD reader.
This fixes an issue where we were leaking the YAML document if there was a
parsing error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347837 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-29 06:16:33 +00:00
Juergen Ributzka 8d8a63ebb5 [TextAPI] Switch back to a custom Platform enum.
Moving to PlatformType from BinaryFormat had some UB fallout when handing
unknown platforms or malformed input files.

This should fix the sanitizer bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347836 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-29 05:56:03 +00:00
Juergen Ributzka 5fe2f7f3d3 [TextAPI] TBD Reader/Writer
Add basic infrastructure for reading and writting TBD files (version 1 - 3).

The TextAPI library is not used by anything yet (besides the unit tests). Tool
support will be added in a separate commit.

The TBD format is currently documented in the implementation file (TextStub.cpp).

https://reviews.llvm.org/D53945

Update: This contains changes to fix issues discovered by the bots:
 - add parentheses to silence warnings.
 - rename variables
 - use PlatformType from BinaryFormat

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347823 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-29 01:20:46 +00:00
Juergen Ributzka 54b34d20c2 Revert "[TextAPI] TBD Reader/Writer"
Reverting to unbreak bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347809 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 21:38:28 +00:00
Juergen Ributzka 1d24883118 [TextAPI] TBD Reader/Writer
Add basic infrastructure for reading and writting TBD files (version 1 - 3).

The TextAPI library is not used by anything yet (besides the unit tests). Tool
support will be added in a separate commit.

The TBD format is currently documented in the implementation file (TextStub.cpp).

https://reviews.llvm.org/D53945

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347808 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-28 21:27:00 +00:00