diff options
author | Konstantin Baladurin <k.baladurin@samsung.com> | 2019-09-26 20:06:57 +0300 |
---|---|---|
committer | Gleb Balykov <g.balykov@samsung.com> | 2020-03-25 15:29:41 +0300 |
commit | b241dc76c28557e15aef1a78f9bae5bd67134c7e (patch) | |
tree | af593f6ab85ff166e598aaa1664b9203ab71667c /src/debug/ee/i386/x86walker.cpp | |
parent | 23cdca9f2be22904d196f69f0d64a1278cb73b44 (diff) | |
download | coreclr-b241dc76c28557e15aef1a78f9bae5bd67134c7e.tar.gz coreclr-b241dc76c28557e15aef1a78f9bae5bd67134c7e.tar.bz2 coreclr-b241dc76c28557e15aef1a78f9bae5bd67134c7e.zip |
[Linux/x86] Use ebp from current context during unwinding (#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
Diffstat (limited to 'src/debug/ee/i386/x86walker.cpp')
-rw-r--r-- | src/debug/ee/i386/x86walker.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/debug/ee/i386/x86walker.cpp b/src/debug/ee/i386/x86walker.cpp index 8b62797484..078bc7ca75 100644 --- a/src/debug/ee/i386/x86walker.cpp +++ b/src/debug/ee/i386/x86walker.cpp @@ -307,7 +307,7 @@ DWORD NativeWalker::GetRegisterValue(int registerNumber) return m_registers->SP; break; case 5: - return *m_registers->GetEbpLocation(); + return GetRegdisplayFP(m_registers); break; case 6: return *m_registers->GetEsiLocation(); |