diff options
author | Kai Tietz <ktietz@redhat.com> | 2014-02-18 18:02:54 +0100 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2014-02-18 18:02:54 +0100 |
commit | 0bb4fc0517da4f29db38d14d06b45f2fa20977dd (patch) | |
tree | 90f10f3ad8c53a30f399191c31a4832435b45b93 /libgcc | |
parent | 48810be0cd39f6c2c22de02727d2e8662da22ec9 (diff) | |
download | gcc-0bb4fc0517da4f29db38d14d06b45f2fa20977dd.zip gcc-0bb4fc0517da4f29db38d14d06b45f2fa20977dd.tar.gz gcc-0bb4fc0517da4f29db38d14d06b45f2fa20977dd.tar.bz2 |
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')
-rw-r--r-- | libgcc/ChangeLog | 7 | ||||
-rw-r--r-- | libgcc/unwind-seh.c | 5 |
2 files changed, 10 insertions, 2 deletions
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 <ktietz@redhat.com> + Jonathan Schleifer <js@webkeks.org> + + PR objc/56870 + * unwind-seh.c (_GCC_specific_handler): Pass proper + value to unwind-handler. + 2014-02-12 Joseph Myers <joseph@codesourcery.com> * 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. */ |