aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
diff options
context:
space:
mode:
authorxingxue-ibm <57193974+xingxue-ibm@users.noreply.github.com>2023-09-19 10:37:30 -0400
committerGitHub <noreply@github.com>2023-09-19 10:37:30 -0400
commite25cd088a642d270c688611b85e22bc83f32f48e (patch)
treea4cec317b292991552e378c11c35a9949926a038 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
parenta21d4abc89d8f48d643644b5cbe31c3f1ae9dc03 (diff)
downloadllvm-e25cd088a642d270c688611b85e22bc83f32f48e.zip
llvm-e25cd088a642d270c688611b85e22bc83f32f48e.tar.gz
llvm-e25cd088a642d270c688611b85e22bc83f32f48e.tar.bz2
[libunwind][AIX] Fix up TOC register if unw_getcontext is called from a different module (#66549)
`unw_getcontext` saves the caller's registers in the context. However, if the caller of `unw_getcontext` is in a different module, the glue code of `unw_getcontext` sets the TOC register (r2) with the new TOC base and saves the original TOC register value in the stack frame. This causes the incorrect TOC value is used when the caller steps up frames, which fails libunwind LIT test case `unw_resume.pass.cpp`. This PR fixes the problem by using the original TOC register value saved in the stack if the caller is in a different module and enables `unw_resume.pass.cpp` on AIX.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h')
0 files changed, 0 insertions, 0 deletions