diff options
author | Mikhail Kurinnoi <m.kurinnoi@samsung.com> | 2021-09-20 08:20:04 -0700 |
---|---|---|
committer | Hyungju Lee <leee.lee@samsung.com> | 2021-09-23 11:21:40 +0900 |
commit | d5ce68ddc5785083fa035342cfcf19a89d25647f (patch) | |
tree | d98f17178c405fd68e8979875296e1e0950ce804 /src/debug/ee/frameinfo.cpp | |
parent | be1aa1bf368dd47765d429ee0e557d8cb26f9bfd (diff) | |
download | coreclr-d5ce68ddc5785083fa035342cfcf19a89d25647f.tar.gz coreclr-d5ce68ddc5785083fa035342cfcf19a89d25647f.tar.bz2 coreclr-d5ce68ddc5785083fa035342cfcf19a89d25647f.zip |
[x86/Linux] Fix SIGSEGV on Debugger.Break() during debugging.submit/tizen_5.5_mobile_hotfix/20210923.022210tizen_5.5_mobile_hotfix
SIGSEGV occur in src/vm/i386/cgenx86.cpp `HelperMethodFrame::UpdateRegDisplay()` at line `pRD->pCurrentContext->Eip = pRD->ControlPC = m_MachState.GetRetAddr();`, since `pRD->pCurrentContext` is NULL.
The point of issue - wrong code block compilation in DebuggerWalkStack() in case of Linux x86.
Diffstat (limited to 'src/debug/ee/frameinfo.cpp')
-rw-r--r-- | src/debug/ee/frameinfo.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/debug/ee/frameinfo.cpp b/src/debug/ee/frameinfo.cpp index 3efbddd140..a4741df8f1 100644 --- a/src/debug/ee/frameinfo.cpp +++ b/src/debug/ee/frameinfo.cpp @@ -2097,7 +2097,7 @@ StackWalkAction DebuggerWalkStack(Thread *thread, #endif memset((void *)&data, 0, sizeof(data)); -#if defined(_TARGET_X86_) +#if !defined(WIN64EXCEPTIONS) // @todo - this seems pointless. context->Eip will be 0; and when we copy it over to the DebuggerRD, // the context will be completely null. data.regDisplay.ControlPC = context->Eip; |