hanchenye-llvm-project/llvm/tools
Carlos Alberto Enciso 75112133b8 [llvm-pdbutil] Move InputFile/FormatUtil/LinePrinter to PDB library.
At Sony we are developing llvm-dva

https://lists.llvm.org/pipermail/llvm-dev/2020-August/144174.html

For its PDB support, it requires functionality already present in
llvm-pdbutil.

We intend to move that functionaly into the PDB library to be
shared by both tools. That change will be done in 2 steps, that
will be submitted as 2 patches:

(1) Replace 'ExitOnError' with explicit error handling.
(2) Move the intended shared code to the PDB library.

Patch for step (1): https://reviews.llvm.org/D121801

This patch is for step (2).

Move InputFile.cpp[h], FormatUtil.cpp[h] and LinePrinter.cpp[h]
files to the debug PDB library.

It exposes the following functionality that can be used by tools:

- Open a PDB file.
- Get module debug stream.
- Traverse module sections.
- Traverse module subsections.

Most of the needed functionality is in InputFile, but there are
dependencies from LinePrinter and FormatUtil.

Some other functionality is in the following functions in
DumpOutputStyle.cpp file:

- iterateModuleSubsections
- getModuleDebugStream
- iterateOneModule
- iterateSymbolGroups
- iterateModuleSubsections

Only these specific functions from DumpOutputStyle are moved to
the PDB library.

Reviewed By: aganea, dblaikie, rnk

Differential Revision: https://reviews.llvm.org/D122226
2022-03-25 07:12:58 +00:00
..
bugpoint Use a sorted array instead of a map to store AttrBuilder string attributes 2022-01-10 14:49:53 +01:00
bugpoint-passes
dsymutil [dsymutil] Update vector of section starts with size of current section 2022-03-23 10:15:54 -03:00
gold [BitcodeWriter] Fix cases of some functions 2022-01-31 16:46:11 -08:00
llc Cleanup codegen includes 2022-03-16 08:43:00 +01:00
lli Revert "[NFC] Remove LinkAll*.h" 2021-11-02 09:08:09 -07:00
llvm-ar [llvm-ar] Prevent automatic conversion from thin to full archive 2022-02-03 11:45:21 +00:00
llvm-as [BitcodeWriter] Fix cases of some functions 2022-01-31 16:46:11 -08:00
llvm-as-fuzzer
llvm-bcanalyzer
llvm-c-test Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
llvm-cat
llvm-cfi-verify Cleanup include: DebugInfo/Symbolize 2022-02-24 13:25:11 +01:00
llvm-config Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17" 2022-01-26 16:55:53 +01:00
llvm-cov [llvm-cov] New parameters to set coverage coverage_watermark 2022-03-04 22:21:40 -08:00
llvm-cvtres [tools] Delete redundant 'static' from namespace scope 'static const'. NFC 2021-10-18 22:38:42 -07:00
llvm-cxxdump
llvm-cxxfilt [llvm-cxxfilt] Use nonMicrosoftDemangle for demangling NFC 2021-10-16 13:32:17 +02:00
llvm-cxxmap
llvm-debuginfod-find [Debuginfod] [Symbolizer] Break debuginfod out of libLLVM. 2022-02-08 19:14:18 +00:00
llvm-diff [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
llvm-dis Cleanup LLVMBitcode headers 2022-02-07 21:19:22 +01:00
llvm-dis-fuzzer [Bitcode] Add missing includes in llvm-dis-fuzzer 2022-02-08 09:49:38 +01:00
llvm-dlang-demangle-fuzzer [Tools] Add a fuzzing tool to help fuzzing D demangler 2021-11-09 12:45:25 -08:00
llvm-dwarfdump [llvm-dwarfdump] Avoid possible div-by-zero in debug output 2022-03-09 18:03:26 +04:00
llvm-dwp [NFC][MC] remove unused argument `MCRegisterInfo` in `MCCodeEmitter` 2022-02-16 13:10:09 +08:00
llvm-exegesis [NFC][MC] remove unused argument `MCRegisterInfo` in `MCCodeEmitter` 2022-02-16 13:10:09 +08:00
llvm-extract Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
llvm-go [AIX][llvm-go] AIX linker does not recognize `-rpath` 2021-11-15 13:13:08 -05:00
llvm-gsymutil [dwarf][NFC] Move expandBundle() to MachO.h 2021-12-15 19:08:56 -08:00
llvm-ifs Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
llvm-isel-fuzzer
llvm-itanium-demangle-fuzzer
llvm-jitlink [llvm-jitlink] Fix a bug in llvm-jitlink's Slab allocator. 2022-02-13 19:28:38 -08:00
llvm-jitlistener
llvm-libtool-darwin [llvm-libtools-darwin] Don't use global LLVMContext 2022-03-21 13:33:47 -07:00
llvm-link
llvm-lipo [llvm-lipo] Don't use a global LLVMContext 2022-03-21 10:43:22 -07:00
llvm-lto [BitcodeWriter] Fix cases of some functions 2022-01-31 16:46:11 -08:00
llvm-lto2 Reland - [CodeView] Emit S_OBJNAME record 2021-12-21 19:02:14 -05:00
llvm-mc [NFC][MC] remove unused argument `MCRegisterInfo` in `MCCodeEmitter` 2022-02-16 13:10:09 +08:00
llvm-mc-assemble-fuzzer [NFC][MC] remove unused argument `MCRegisterInfo` in `MCCodeEmitter` 2022-02-16 13:10:09 +08:00
llvm-mc-disassemble-fuzzer
llvm-mca [MCA] Moved six instruction flags from InstrDesc to InstructionBase. 2022-03-13 21:21:05 -07:00
llvm-microsoft-demangle-fuzzer
llvm-ml [NFC][MC] remove unused argument `MCRegisterInfo` in `MCCodeEmitter` 2022-02-16 13:10:09 +08:00
llvm-modextract Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
llvm-mt [llvm-mt] Add support /notify_update 2022-03-11 03:46:46 +00:00
llvm-nm [NFC][llvm-nm] create a new helper function exportSymbolNamesFromFiles for --export-symbols 2022-03-09 16:28:55 -05:00
llvm-objcopy [objcopy][NFC] Move NameOrPattern::create() into CommonConfig.h 2022-03-09 13:03:28 +03:00
llvm-objdump [CSKY] Enhance asm parser and relocation fixup for some special symbol address instruction 2022-03-24 14:14:04 +08:00
llvm-opt-fuzzer [NewPM] Use the default AA pipeline by default 2021-11-04 15:10:34 -07:00
llvm-opt-report Cleanup LLVMRemarks includes 2022-01-31 11:16:28 +01:00
llvm-pdbutil [llvm-pdbutil] Move InputFile/FormatUtil/LinePrinter to PDB library. 2022-03-25 07:12:58 +00:00
llvm-profdata [llvm-profdata] Unify default cutoffs for detailed summary printing 2022-03-23 14:38:53 -07:00
llvm-profgen [llvm-profgen] Decoding pseudo probe for profiled function only. 2022-03-23 14:15:11 -07:00
llvm-rc [llvm-rc]: Find <target>-clang over just clang 2022-02-09 09:04:53 +01:00
llvm-readobj [WebAssembly] Second phase of implemented extended const proposal 2022-03-14 08:55:47 -07:00
llvm-reduce Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
llvm-remark-size-diff Add JSON output option to llvm-remark-size-diff 2022-03-07 16:53:27 -08:00
llvm-rtdyld [RuntimeDyld] Fix building on OpenBSD 2022-02-17 12:17:11 -05:00
llvm-rust-demangle-fuzzer
llvm-shlib [cmake][NFC] Configuration for libLLVM.so symbol versioning 2022-02-01 23:05:03 -08:00
llvm-sim
llvm-size
llvm-special-case-list-fuzzer
llvm-split [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
llvm-stress [llvm-stress] Remove global LLVMContext 2022-03-21 13:55:08 -07:00
llvm-strings [llvm-strings] Remove use of hard coded executable name 2022-01-05 14:41:49 +00:00
llvm-symbolizer [Debuginfod] Add BUILD_ID syntax to llvm-symbolizer. 2022-02-25 00:39:13 +00:00
llvm-tapi-diff Cleanup LLVMObject headers 2022-02-10 21:13:44 +01:00
llvm-tli-checker [TLI checker] Update for post-commit review comments 2021-12-01 12:33:54 -08:00
llvm-undname [lldb] change name demangling to be consistent between windows and linx 2021-10-19 12:04:37 +02:00
llvm-xray Cleanup include: DebugInfo/Symbolize 2022-02-24 13:25:11 +01:00
llvm-yaml-numeric-parser-fuzzer
llvm-yaml-parser-fuzzer
lto [llvm] Use `GNUInstallDirs` to support custom installation dirs 2022-01-08 00:47:31 +00:00
msbuild
obj2yaml [WebAssembly] Rename member in WasmYAML.h to avoid compiler warning 2022-03-14 09:09:43 -07:00
opt [opt] Remove -analyze option 2022-03-24 14:10:57 -07:00
opt-viewer [llvm] Use `GNUInstallDirs` to support custom installation dirs 2022-01-08 00:47:31 +00:00
remarks-shlib [llvm] Use `GNUInstallDirs` to support custom installation dirs 2022-01-08 00:47:31 +00:00
sancov [sancov] Add SPARC support for getPreviousInstructionPc 2022-02-27 19:10:51 +00:00
sanstats Cleanup include: DebugInfo/Symbolize 2022-02-24 13:25:11 +01:00
split-file [split-file] Respect input file's line endings 2022-01-21 18:45:03 -06:00
verify-uselistorder
vfabi-demangle-fuzzer [NFC] Inclusive language: Remove instances of master in URLs 2021-11-05 08:48:41 -05:00
xcode-toolchain
yaml2obj Have yaml2obj describe all options in --help 2021-11-24 07:44:52 -08:00
CMakeLists.txt Update LLVM CMakeFiles to include BOLT 2022-01-11 21:19:12 -08:00