]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR objc/56870 (@catch handler broken with SEH)
authorKai Tietz <ktietz@redhat.com>
Tue, 18 Feb 2014 17:02:54 +0000 (18:02 +0100)
committerKai Tietz <ktietz@gcc.gnu.org>
Tue, 18 Feb 2014 17:02:54 +0000 (18:02 +0100)
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

libgcc/ChangeLog
libgcc/unwind-seh.c

index c60d2fa7efd8f508a776534136b88d4767b8df64..4c3ff9181f6abd07e045809ad3d1bd717a2f7744 100644 (file)
@@ -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.
index 125af979cf8dc45df079290532e47f6a8ff19acc..b4a3ca1e34b5fc2438400ed6c713599876c8db4e 100644 (file)
@@ -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.  */