mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-18 10:24:30 +08:00
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
This commit is contained in:
parent
747b9f553a
commit
3062335c07
@ -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.
|
||||
|
@ -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__) */
|
||||
|
@ -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
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user