diff options
author | Aaron Smith <aaron.smith@microsoft.com> | 2018-03-22 04:08:15 +0000 |
---|---|---|
committer | Aaron Smith <aaron.smith@microsoft.com> | 2018-03-22 04:08:15 +0000 |
commit | 523de05a1faafe9846608b796b5d7d5b51f4e6cf (patch) | |
tree | e448ae52ef8eca1d8ae01955a5fc0ba64fe4af5b /llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp | |
parent | 58a32a478f34a2809894d4c9ccf54d582d2416cc (diff) | |
download | bcm5719-llvm-523de05a1faafe9846608b796b5d7d5b51f4e6cf.tar.gz bcm5719-llvm-523de05a1faafe9846608b796b5d7d5b51f4e6cf.zip |
[DIA] Add IPDBSectionContrib interfaces and DIA implementation
To resolve symbol context at a particular address, we need to
determine the compiland for the address. We are able to determine
the parent compiland of PDBSymbolFunc, PDBSymbolTypeUDT,
PDBSymbolTypeEnum symbols indirectly through line information.
However no such information is availabile for PDBSymbolData,
i.e. variables.
The Section Contribution table from PDBs has information about
each compiland's contribution to sections by address. For example,
a piece of a contribution looks like,
VA RelativeVA Sect No. Offset Length Compiland
14000087B0 000087B0 0001 000077B0 000000BB exe_main.obj
So given an address, it's possible to determine its compiland with
this information.
llvm-svn: 328178
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp b/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp index c4d188ee337..d9f9552b7b9 100644 --- a/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp +++ b/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp @@ -260,3 +260,8 @@ std::unique_ptr<IPDBEnumInjectedSources> NativeSession::getInjectedSources() const { return nullptr; } + +std::unique_ptr<IPDBEnumSectionContribs> +NativeSession::getSectionContribs() const { + return nullptr; +} |