From: Kaz Kojima Date: Thu, 16 Mar 2006 02:44:10 +0000 (+0000) Subject: linux-unwind.h (shmedia_fallback_frame_state): Set fs->signal_frame. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3062335c076f3700185f1f217fe0516d0549f67d;p=gcc.git linux-unwind.h (shmedia_fallback_frame_state): Set fs->signal_frame. * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9908e3a3cdd..0ae317083e8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-03-16 Kaz Kojima + + * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set + fs->signal_frame. + (sh_fallback_frame_state): Likewise. + 2006-03-15 Geoffrey Keating * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports. diff --git a/gcc/config/sh/linux-unwind.h b/gcc/config/sh/linux-unwind.h index 3ba943648d8..de84a772762 100644 --- a/gcc/config/sh/linux-unwind.h +++ b/gcc/config/sh/linux-unwind.h @@ -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__) */ diff --git a/libjava/ChangeLog b/libjava/ChangeLog index f3ff2d68a79..ac204088ae2 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2006-03-16 Kaz Kojima + + * include/sh-signal.h (MAKE_THROW_FRAME): Change into empty + macro. + 2006-03-15 Tom Tromey * testsuite/libjava.jacks/jacks.xfail: Removed diff --git a/libjava/include/sh-signal.h b/libjava/include/sh-signal.h index 25e873117ff..3a96ce25fb2 100644 --- a/libjava/include/sh-signal.h +++ b/libjava/include/sh-signal.h @@ -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. */