From 0bb4fc0517da4f29db38d14d06b45f2fa20977dd Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Tue, 18 Feb 2014 18:02:54 +0100 Subject: re PR objc/56870 (@catch handler broken with SEH) 2014-02-18 Kai Tietz Jonathan Schleifer PR objc/56870 * unwind-seh.c (_GCC_specific_handler): Pass proper value to unwind-handler. Co-Authored-By: Jonathan Schleifer From-SVN: r207849 --- libgcc/ChangeLog | 7 +++++++ libgcc/unwind-seh.c | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'libgcc') diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index c60d2fa..4c3ff91 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,10 @@ +2014-02-18 Kai Tietz + Jonathan Schleifer + + PR objc/56870 + * unwind-seh.c (_GCC_specific_handler): Pass proper + value to unwind-handler. + 2014-02-12 Joseph Myers * soft-fp/adddf3.c: Update from glibc. diff --git a/libgcc/unwind-seh.c b/libgcc/unwind-seh.c index 125af97..b4a3ca1 100644 --- a/libgcc/unwind-seh.c +++ b/libgcc/unwind-seh.c @@ -313,8 +313,9 @@ _GCC_specific_handler (PEXCEPTION_RECORD ms_exc, void *this_frame, ms_exc->ExceptionInformation[3] = gcc_context.reg[1]; /* Begin phase 2. Perform the unwinding. */ - RtlUnwindEx (this_frame, gcc_context.ra, ms_exc, gcc_exc, - ms_orig_context, ms_disp->HistoryTable); + RtlUnwindEx (this_frame, gcc_context.ra, ms_exc, + (PVOID)gcc_context.reg[0], ms_orig_context, + ms_disp->HistoryTable); } /* In _Unwind_RaiseException we return _URC_FATAL_PHASE1_ERROR. */ -- cgit v1.1