[Linux/x86] Use ebp from current context during unwinding (dotnet/coreclr#26789)
authorKonstantin Baladurin <k.baladurin@samsung.com>
Thu, 26 Sep 2019 17:06:57 +0000 (20:06 +0300)
committerJan Vorlicek <janvorli@microsoft.com>
Thu, 26 Sep 2019 17:06:57 +0000 (19:06 +0200)
commite34ea11acd6d4622eb73ac8f7bc8b663eeaa834c
tree312264220261df57e537cadf2e681b4f90e673d0
parent293302c4cdd129ae1784a5f48df6b9d1201e0bed
[Linux/x86] Use ebp from current context during unwinding (dotnet/coreclr#26789)

pCurrentContextPointers in REGDISPLAY can contain NULLs so we need to use
ebp value from pCurrentContext. This patch contains following changes:

- GetRegdisplayFP returns ebp from pCurrentContext
- GetRegdisplayFP is used instead of *GetEbpLocation()
- Set##reg##Location also updates register value in pCurrentContext

Commit migrated from https://github.com/dotnet/coreclr/commit/1e27a905a0081fe95dd7aaf5f9e99449b4811c1a
src/coreclr/src/debug/ee/i386/x86walker.cpp
src/coreclr/src/inc/regdisp.h
src/coreclr/src/vm/eetwain.cpp
src/coreclr/src/vm/proftoeeinterfaceimpl.cpp