re PR target/50737 (FAIL: Throw_3 -O3 execution, generic dwarf2 EH problem?)
gcc/ChangeLog: 2011-10-18 Uros Bizjak <ubizjak@gmail.com> Eric Botcazou <ebotcazou@adacore.com> PR target/50737 * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set fs->signal_frame to 1. libjava/ChangeLog: 2011-10-18 Uros Bizjak <ubizjak@gmail.com> Eric Botcazou <ebotcazou@adacore.com> PR target/50737 * include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME definition. Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> From-SVN: r180158
This commit is contained in:
parent
24ed5cbe65
commit
65260b8bad
|
@ -1,3 +1,10 @@
|
|||
2011-10-18 Uros Bizjak <ubizjak@gmail.com>
|
||||
Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR target/50737
|
||||
* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
|
||||
fs->signal_frame to 1.
|
||||
|
||||
2011-08-06 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/50001
|
||||
|
|
|
@ -74,5 +74,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
|
|||
fs->regs.reg[64].how = REG_SAVED_OFFSET;
|
||||
fs->regs.reg[64].loc.offset = (long)&sc->sc_pc - new_cfa;
|
||||
fs->retaddr_column = 64;
|
||||
fs->signal_frame = 1;
|
||||
|
||||
return _URC_NO_REASON;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2011-10-18 Uros Bizjak <ubizjak@gmail.com>
|
||||
Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR target/50737
|
||||
* include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME
|
||||
definition.
|
||||
|
||||
2011-04-16 Release Manager
|
||||
|
||||
* GCC 4.4.6 released.
|
||||
|
|
|
@ -29,20 +29,7 @@ class java::lang::Throwable;
|
|||
// then throw an exception. With the dwarf2 unwinder we don't usually
|
||||
// need to do anything, with some minor exceptions.
|
||||
|
||||
#ifdef __alpha__
|
||||
#define MAKE_THROW_FRAME(_exception) \
|
||||
do \
|
||||
{ \
|
||||
/* Alpha 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. */ \
|
||||
struct sigcontext *_sc = (struct sigcontext *)_p; \
|
||||
_sc->sc_pc += 4; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#elif defined(__ia64__)
|
||||
#ifdef __ia64__
|
||||
|
||||
#define MAKE_THROW_FRAME(_exception) \
|
||||
do \
|
||||
|
|
Loading…
Reference in New Issue