Index: libgcc/config/alpha/linux-unwind.h
===================================================================
--- libgcc/config/alpha/linux-unwind.h	(revision 180054)
+++ libgcc/config/alpha/linux-unwind.h	(working copy)
@@ -74,5 +74,7 @@
   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;
 }
Index: libjava/include/dwarf2-signal.h
===================================================================
--- libjava/include/dwarf2-signal.h	(revision 180054)
+++ libjava/include/dwarf2-signal.h	(working copy)
@@ -29,21 +29,8 @@
 // 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)
+#ifdef __ia64__
 
-#elif defined(__ia64__)
-
 #define MAKE_THROW_FRAME(_exception)					\
 do									\
 {									\
