llvm-capstone/libunwind
xingxue-ibm e25cd088a6
[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.
2023-09-19 10:37:30 -04:00
..
cmake [libunwind] Haiku: Initial support 2023-09-06 00:56:09 -04:00
docs [NFC][Py Reformat] Reformat python files in libcxx/libcxxabi 2023-05-25 11:15:34 +02:00
include [libunwind] Haiku: Initial support 2023-09-06 00:56:09 -04:00
src [libunwind][AIX] Fix up TOC register if unw_getcontext is called from a different module (#66549) 2023-09-19 10:37:30 -04:00
test [libunwind][AIX] Fix up TOC register if unw_getcontext is called from a different module (#66549) 2023-09-19 10:37:30 -04:00
.clang-format
CMakeLists.txt Make _LIBUNWIND_SUPPORT_FRAME_APIS a build-time option 2023-08-23 14:34:40 -07:00
LICENSE.TXT