libgcc/Changelog:
        * unwind-seh.c (_Unwind_Backtrace): Set the ra and cfa pointers
        before calling the callback.
---
 libgcc/unwind-seh.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libgcc/unwind-seh.c b/libgcc/unwind-seh.c
index 1a70180cfaa..275d782903a 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;
