summaryrefslogtreecommitdiff
path: root/libgcc/unwind-seh.c
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2014-02-18 18:02:54 +0100
committerKai Tietz <ktietz@gcc.gnu.org>2014-02-18 18:02:54 +0100
commit0bb4fc0517da4f29db38d14d06b45f2fa20977dd (patch)
tree90f10f3ad8c53a30f399191c31a4832435b45b93 /libgcc/unwind-seh.c
parent48810be0cd39f6c2c22de02727d2e8662da22ec9 (diff)
re PR objc/56870 (@catch handler broken with SEH)
2014-02-18 Kai Tietz <ktietz@redhat.com> Jonathan Schleifer <js@webkeks.org> PR objc/56870 * unwind-seh.c (_GCC_specific_handler): Pass proper value to unwind-handler. Co-Authored-By: Jonathan Schleifer <js@webkeks.org> From-SVN: r207849
Diffstat (limited to 'libgcc/unwind-seh.c')
-rw-r--r--libgcc/unwind-seh.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libgcc/unwind-seh.c b/libgcc/unwind-seh.c
index 125af979cf8..b4a3ca1e34b 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. */