libgcc: Expose the instruction pointer and stack pointer in SEH _Unwind_Backtrace
authorMartin Storsjö <martin@martin.st>
Tue, 8 Sep 2020 12:21:51 +0000 (15:21 +0300)
committerJonathan Yong <10walls@gmail.com>
Tue, 3 Nov 2020 00:30:35 +0000 (00:30 +0000)
commitbd6ecbe48ada79bb14cbb30ef8318495b5237790
tree1f7a9038f9f577216f5962c0333c39257f05802b
parent18f8fc9329c8ddd6db272e3c643f28bea11e52e4
libgcc: Expose the instruction pointer and stack pointer in SEH _Unwind_Backtrace

Previously, the SEH version of _Unwind_Backtrace did unwind
the stack and call the provided callback function as intended,
but there was little the caller could do within the callback to
actually get any info about that particular level in the unwind.

Set the ra and cfa pointers, which are used by _Unwind_GetIP
and _Unwind_GetCFA, to allow using these functions from the
callacb to inspect the state at each stack frame.

2020-09-08  Martin Storsjö  <martin@martin.st>

libgcc/
* unwind-seh.c (_Unwind_Backtrace): Set the ra and cfa pointers
before calling the callback.
libgcc/unwind-seh.c