diff options
author | Konstantin Baladurin <k.baladurin@samsung.com> | 2019-09-26 20:06:57 +0300 |
---|---|---|
committer | Михаил Аксенов/Device Solutions Lab /SRR/Engineer/삼성전자 <m.aksenov@samsung.com> | 2019-10-04 19:42:39 +0300 |
commit | a52f00caa51bfadc03134f6de3491238bc1e7d61 (patch) | |
tree | 2a8cc2579f62ff956c349c385fe03d8d19564d7c /src/vm/proftoeeinterfaceimpl.cpp | |
parent | 47e34c60ffb197064f2def6845b91fe0001b2846 (diff) | |
download | coreclr-a52f00caa51bfadc03134f6de3491238bc1e7d61.tar.gz coreclr-a52f00caa51bfadc03134f6de3491238bc1e7d61.tar.bz2 coreclr-a52f00caa51bfadc03134f6de3491238bc1e7d61.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/vm/proftoeeinterfaceimpl.cpp')
-rw-r--r-- | src/vm/proftoeeinterfaceimpl.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm/proftoeeinterfaceimpl.cpp b/src/vm/proftoeeinterfaceimpl.cpp index cff17213a7..03362f9299 100644 --- a/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/vm/proftoeeinterfaceimpl.cpp @@ -7747,7 +7747,7 @@ Loop: CodeManState codeManState; codeManState.dwIsSet = 0; REGDISPLAY rd; - ZeroMemory(&rd, sizeof(rd)); + FillRegDisplay(&rd, &ctxCur); rd.SetEbpLocation(&ctxCur.Ebp); rd.SP = ctxCur.Esp; |