[NativeSession] Implement NativeSession::findSymbolByAddress.
authorAmy Huang <akhuang@google.com>
Mon, 16 Mar 2020 16:53:49 +0000 (09:53 -0700)
committerAmy Huang <akhuang@google.com>
Wed, 13 May 2020 16:39:25 +0000 (09:39 -0700)
commit641ae73f2eba1a4c52d8ddeefad44f26cc7530f3
tree533bca8e2b441adddde2ba0eacf7fc0453a2b847
parenta8bf2deae4f1e96857c8869f9931f5adb469e929
[NativeSession] Implement NativeSession::findSymbolByAddress.

Summary: This implements searching for function symbols and public symbols by address.

More specifically,
-Implements NativeSession::findSymbolByAddress for function symbols and
public symbols. I think data symbols are also searched for, but isn't
implemented in this patch.
-Adds classes for NativeFunctionSymbol and NativePublicSymbol
-Adds a '-use-native-pdb-reader' option to llvm-symbolizer, for testing
purposes.

Reviewers: rnk, amccarth, labath

Subscribers: mgorny, hiraditya, MaskRay, rupprecht, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79269
19 files changed:
llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h
llvm/include/llvm/DebugInfo/PDB/IPDBSession.h
llvm/include/llvm/DebugInfo/PDB/Native/NativeFunctionSymbol.h [new file with mode: 0644]
llvm/include/llvm/DebugInfo/PDB/Native/NativePublicSymbol.h [new file with mode: 0644]
llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h
llvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h
llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
llvm/lib/DebugInfo/PDB/CMakeLists.txt
llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp
llvm/lib/DebugInfo/PDB/Native/NativeFunctionSymbol.cpp [new file with mode: 0644]
llvm/lib/DebugInfo/PDB/Native/NativePublicSymbol.cpp [new file with mode: 0644]
llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp
llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
llvm/test/tools/llvm-symbolizer/pdb/pdb-native.test [new file with mode: 0644]
llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
llvm/unittests/DebugInfo/PDB/NativeSessionTest.cpp
llvm/unittests/DebugInfo/PDB/PDBApiTest.cpp
llvm/utils/gn/secondary/llvm/lib/DebugInfo/PDB/BUILD.gn