summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/sample_test/TestSampleTest.py
diff options
context:
space:
mode:
authorStella Stamenova <stilis@microsoft.com>2018-07-09 17:36:33 +0000
committerStella Stamenova <stilis@microsoft.com>2018-07-09 17:36:33 +0000
commit67a19dfbcb2ac21e4bfc712b211aee32f55e7d7b (patch)
tree19561125b8539d534bb947d1748a3734cb61df81 /lldb/packages/Python/lldbsuite/test/sample_test/TestSampleTest.py
parent37e2ef5434da078cf2ae28df99982cb5542ae1ea (diff)
downloadbcm5719-llvm-67a19dfbcb2ac21e4bfc712b211aee32f55e7d7b.tar.gz
bcm5719-llvm-67a19dfbcb2ac21e4bfc712b211aee32f55e7d7b.zip
Retrieve a function PDB symbol correctly from nested blocks
Summary: This patch fixes a problem with retrieving a function symbol by an address in a nested block. In the current implementation of ResolveSymbolContext function it retrieves a symbol with PDB_SymType::None and then checks if found symbol's tag equals to PDB_SymType::Function. So, if nested block's symbol was found, ResolveSymbolContext does not resolve a function. It is very simple to reproduce this. For example, in the next program ``` int main() { auto r = 0; for (auto i = 1; i <= 10; i++) { r += i & 1 + (i - 1) & 1 - 1; } return r; } ``` if we will stop inside the cycle and will do a backtrace, the top element will be broken. But how we can test this? I thought to add an option to lldb-test to allow search a function by address, but the address may change when the compiler will be changed. Patch by: Aleksandr Urakov Reviewers: asmith, labath, zturner Reviewed By: asmith, labath Subscribers: stella.stamenova, llvm-commits Differential Revision: https://reviews.llvm.org/D47939 llvm-svn: 336564
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/sample_test/TestSampleTest.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud