linux-unwind.h (shmedia_fallback_frame_state): Set fs->signal_frame.
authorKaz Kojima <kkojima@gcc.gnu.org>
Thu, 16 Mar 2006 02:44:10 +0000 (02:44 +0000)
committerKaz Kojima <kkojima@gcc.gnu.org>
Thu, 16 Mar 2006 02:44:10 +0000 (02:44 +0000)
* config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
fs->signal_frame.
(sh_fallback_frame_state): Likewise.

* include/sh-signal.h (MAKE_THROW_FRAME): Change into empty
macro.

From-SVN: r112122

gcc/ChangeLog
gcc/config/sh/linux-unwind.h
libjava/ChangeLog
libjava/include/sh-signal.h

index 9908e3a3cddf51038bd23f033d80f48e2c2ba26a..0ae317083e84ebfbf0361a026ea81a2f692da1da 100644 (file)
@@ -1,3 +1,9 @@
+2006-03-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
+       fs->signal_frame.
+       (sh_fallback_frame_state): Likewise.
+
 2006-03-15  Geoffrey Keating  <geoffk@apple.com>
 
        * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
index 3ba943648d8743983490eecc2849c86e87225d28..de84a7727623e3c0d9c7e7a02437aaaac0933d5f 100644 (file)
@@ -1,5 +1,5 @@
 /* DWARF2 EH unwinding support for SH Linux.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -137,6 +137,7 @@ shmedia_fallback_frame_state (struct _Unwind_Context *context,
   fs->regs.reg[63].loc.offset
     = (long)&(sc->sc_pc) - new_cfa;
   fs->retaddr_column = 63;
+  fs->signal_frame = 1;
   return _URC_NO_REASON;
 }
 
@@ -246,6 +247,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context,
   fs->regs.reg[SH_DWARF_FRAME_PC].loc.offset
     = (long)&(sc->sc_pc) - new_cfa;
   fs->retaddr_column = SH_DWARF_FRAME_PC;
+  fs->signal_frame = 1;
   return _URC_NO_REASON;
 }
 #endif /* defined (__SH5__) */
index f3ff2d68a7924b57808d9b2e7f0a3d049fa8cf20..ac204088ae2cefde0bd369bf9c5fa158b848b761 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * include/sh-signal.h (MAKE_THROW_FRAME): Change into empty
+       macro.
+       
 2006-03-15  Tom Tromey  <tromey@redhat.com>
 
        * testsuite/libjava.jacks/jacks.xfail: Removed
index 25e873117ffe5ac37406bcb821502b850f454d22..3a96ce25fb2d580b539304e2b4b840ae4aec505f 100644 (file)
@@ -1,7 +1,7 @@
 // sh-signal.h - Catch runtime signals and turn them into exceptions
 // on a SuperH based Linux system.
 
-/* Copyright (C) 2004  Free Software Foundation
+/* Copyright (C) 2004, 2006  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -33,28 +33,7 @@ typedef struct _sig_ucontext {
 #define SIGNAL_HANDLER(_name)                                          \
   static void _name (int , siginfo_t *, sig_ucontext_t *_uc)
 
-/* SH either leaves PC pointing at a faulting instruction or the
-   following instruction, depending on the signal.  SEGV always does
-   the former, so we adjust the saved PC to point to the following
-   instruction. This is what the handler in libgcc expects.  */
-
-#ifdef __SH5__
-#define MAKE_THROW_FRAME(_exception)                                   \
-do                                                                     \
-  {                                                                    \
-    volatile struct sigcontext *_sc = &_uc->uc_mcontext;               \
-    _sc->sc_pc += 4;                                                   \
-  }                                                                    \
-while (0)
-#else
-#define MAKE_THROW_FRAME(_exception)                                   \
-do                                                                     \
-  {                                                                    \
-    volatile struct sigcontext *_sc = &_uc->uc_mcontext;               \
-    _sc->sc_pc += 2;                                                   \
-  }                                                                    \
-while (0)
-#endif
+#define MAKE_THROW_FRAME(_exception)
 
 /* For an explanation why we cannot simply use sigaction to
    install the handlers, see i386-signal.h.  */