diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2006-03-16 02:44:10 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2006-03-16 02:44:10 +0000 |
commit | 3062335c076f3700185f1f217fe0516d0549f67d (patch) | |
tree | f07f90453577dd978a46b2ca2b879b031dab4461 | |
parent | 747b9f553aafa9b3e420d54c8c7d9a5eba0eda0b (diff) | |
download | gcc-3062335c076f3700185f1f217fe0516d0549f67d.zip gcc-3062335c076f3700185f1f217fe0516d0549f67d.tar.gz gcc-3062335c076f3700185f1f217fe0516d0549f67d.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/linux-unwind.h | 4 | ||||
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/include/sh-signal.h | 25 |
4 files changed, 16 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9908e3a..0ae3170 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/sh/linux-unwind.h b/gcc/config/sh/linux-unwind.h index 3ba9436..de84a77 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 f3ff2d6..ac20408 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -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 diff --git a/libjava/include/sh-signal.h b/libjava/include/sh-signal.h index 25e8731..3a96ce2 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. */ |