mirror of git://gcc.gnu.org/git/gcc.git
re PR target/50737 (FAIL: Throw_3 -O3 execution, generic dwarf2 EH problem?)
libgcc/ChangeLog: 2011-10-16 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-16 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: r180098
This commit is contained in:
parent
47fc10353d
commit
1e06b07d0c
|
@ -1,3 +1,10 @@
|
||||||
|
2011-10-16 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-10-07 Ian Lance Taylor <iant@google.com>
|
2011-10-07 Ian Lance Taylor <iant@google.com>
|
||||||
|
|
||||||
* generic-morestack-thread.c: #include <errno.h>.
|
* generic-morestack-thread.c: #include <errno.h>.
|
||||||
|
|
|
@ -74,5 +74,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
|
||||||
fs->regs.reg[64].how = REG_SAVED_OFFSET;
|
fs->regs.reg[64].how = REG_SAVED_OFFSET;
|
||||||
fs->regs.reg[64].loc.offset = (long)&sc->sc_pc - new_cfa;
|
fs->regs.reg[64].loc.offset = (long)&sc->sc_pc - new_cfa;
|
||||||
fs->retaddr_column = 64;
|
fs->retaddr_column = 64;
|
||||||
|
fs->signal_frame = 1;
|
||||||
|
|
||||||
return _URC_NO_REASON;
|
return _URC_NO_REASON;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
2011-10-16 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
PR target/50737
|
||||||
|
* include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME
|
||||||
|
definition.
|
||||||
|
|
||||||
2011-08-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
2011-08-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* exception.cc (std::abort): Remove static.
|
* exception.cc (std::abort): Remove static.
|
||||||
|
|
|
@ -29,20 +29,7 @@ class java::lang::Throwable;
|
||||||
// then throw an exception. With the dwarf2 unwinder we don't usually
|
// then throw an exception. With the dwarf2 unwinder we don't usually
|
||||||
// need to do anything, with some minor exceptions.
|
// need to do anything, with some minor exceptions.
|
||||||
|
|
||||||
#ifdef __alpha__
|
#ifdef __ia64__
|
||||||
#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__)
|
|
||||||
|
|
||||||
#define MAKE_THROW_FRAME(_exception) \
|
#define MAKE_THROW_FRAME(_exception) \
|
||||||
do \
|
do \
|
||||||
|
|
Loading…
Reference in New Issue