summaryrefslogtreecommitdiff
path: root/llvm/lib/Object/TapiFile.cpp
AgeCommit message (Collapse)Author
2024-11-19[Object] Remove unused includes (NFC) (#116750)Kazu Hirata
Identified with misc-include-cleaner.
2024-01-26[TextAPI] Rename SymbolKind to EncodeKind (#79622)Cyndy Ishida
A distinction that doesn't _usually_ matter is that the MachO::SymbolKind is really a mapping of entries in TBD files not symbols. To better understand this, rename the enum so it represents an encoding mapped to TBDs as opposed to symbols alone. For example, it can be a bit confusing that "GlobalSymbol" is a enum value when all of those values can represent a GlobalSymbol.
2023-09-14[TextAPI] Consolidate TextAPI Reader/Writer APIs. (#66108)Cyndy Ishida
Both Swift & LLD use TextAPI reader/writer apis to interface with TBD files. Add doc strings to document what each API does. Also, add shortcut APIs for validating input is a TBD file. This reduces the differences between downstream and how tapi calls into these APIs.
2023-02-22[TextAPI] Add support for TBDv5 Files to nm & tapi-diffCyndy Ishida
This includes handling of new attributes for symbols & rpath. In the event that an older format file is compared to tbd_v5, ignore these new attributes. Reviewed By: ributzka Differential Revision: https://reviews.llvm.org/D144529
2022-02-10Cleanup LLVMObject headersserge-sans-paille
Most notably, llvm/Object/Binary.h no longer includes llvm/Support/MemoryBuffer.h llvm/Object/MachOUniversal*.h no longer include llvm/Object/Archive.h llvm/Object/TapiUniversal.h no longer includes llvm/Object/TapiFile.h llvm-project preprocessed size: before: 1068185081 after: 1068324320 Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D119457
2022-01-13Replace PlatformKind with PlatformType.Juergen Ributzka
The PlatformKind/PlatformType enums contain the same information, which requires them to be kept in-sync. This commit changes over to PlatformType as the sole source of truth, which allows the removal of the redundant PlatformKind. The majority of the changes were in LLD and TextAPI. Reviewed By: cishida Differential Revision: https://reviews.llvm.org/D117163
2021-06-23[TextAPI] add symbol name prefixes to central location, NFCCyndy Ishida
These prefixes are used for printing the symbols coming from tbd files and they were redundant across locations
2020-06-12[llvm/Object] Reimplment basic_symbol_iterator in TapiFileJonas Devlieghere
Use indices into the Symbols vector instead of casting the objects in the vector and dereferencing std::vector::end(). This change is NFC modulo the Windows failure reported by llvm-clang-x86_64-expensive-checks-win. Differential revision: https://reviews.llvm.org/D81717
2020-06-11[llvm][llvm-nm] add TextAPI/MachO supportCyndy Ishida
Summary: This completes the needed glueing to support reading tbd files from nm. This includes specifying which slice filtering with `--arch` and a new option specifically for tbd files `--add-inlinedinfo` which will show the reexported libraries that are appended in the tbd file. Reviewers: ributzka, steven_wu, JDevlieghere, jhenderson Reviewed By: JDevlieghere Subscribers: hiraditya, MaskRay, dexonsmith, rupprecht, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81614
2020-04-18[Object] Change uint32_t getSymbolFlags() to Expected<uint32_t> ↵vgxbj
getSymbolFlags(). This change enables getSymbolFlags() to return errors which benefit error reporting in clients. Differential Revision: https://reviews.llvm.org/D77860
2019-09-20[TextAPI] Arch&Platform to TargetCyndy Ishida
Summary: This is a patch for updating TextAPI/Macho to read in targets as opposed to arch/platform. This is because in previous versions tbd files only supported a single platform but that is no longer the case, so, now its tracked by unique triples. This precedes a seperate patch that will add the TBD-v4 format Reviewers: ributzka, steven_wu, plotfi, compnerd, smeenai Reviewed By: ributzka Subscribers: mgorny, hiraditya, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67527 llvm-svn: 372396
2019-09-11Revert [llvm-nm] Add tapi file supportCyndy Ishida
This reverts r371576 (git commit f88f46358dbffa20af3b054a9346e5154789d50f) llvm-svn: 371676
2019-09-11[llvm-nm] Add tapi file supportCyndy Ishida
Summary: This commit is the final one for adding tapi support to the llvm-nm implementation. This commit also has accompanying tests the additions to lib/Object Reviewers: ributzka, steven_wu Reviewed By: ributzka Subscribers: hiraditya, plotfi, dexonsmith, rupprecht, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66160 llvm-svn: 371576
2019-08-21[Object] FIX: update PlatformKind name in TapiFileCyndy Ishida
Buildbots that use GCC failed to compile because overwritten namespace with variable name llvm-svn: 369602
2019-08-21[Object] Add tapi files to objectCyndy Ishida
Summary: The intention for this is to allow reading and printing symbols out from llvm-nm. Tapi file, and Tapi universal follow a similiar format to their respective MachO Object format. The tests are dependent on llvm-nm processing tbd files which is why its in D66160 Reviewers: ributzka, steven_wu, lhames Reviewed By: ributzka, lhames Subscribers: mgorny, hiraditya, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66159 llvm-svn: 369600