diff options
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/unwind-seh.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libgcc/unwind-seh.c b/libgcc/unwind-seh.c index 1a70180..275d782 100644 --- a/libgcc/unwind-seh.c +++ b/libgcc/unwind-seh.c @@ -466,6 +466,11 @@ _Unwind_Backtrace(_Unwind_Trace_Fn trace, &gcc_context.disp->HandlerData, &gcc_context.disp->EstablisherFrame, NULL); + /* Set values that the callback can inspect via _Unwind_GetIP + * and _Unwind_GetCFA. */ + gcc_context.ra = ms_context.Rip; + gcc_context.cfa = ms_context.Rsp; + /* Call trace function. */ if (trace (&gcc_context, trace_argument) != _URC_NO_REASON) return _URC_FATAL_PHASE1_ERROR; |