[PATCH, alpha]: Fix PR target/50737, FAIL: Throw_3 -O3 execution

Uros Bizjak ubizjak@gmail.com
Sun Oct 16 10:29:00 GMT 2011


Hello!

As explained in length in the PR [1], we fail to mark signal frames
correctly, leading to the abort in EH support library.

As suggested by Eric, attached patch marks fs->signal_frame in the
same way as other dwarf2 targets.

2011-10-16  Uros Bizjak  <ubizjak@gmail.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
	fs->signal_frame to 1.

Patch was bootstrapped and regression tested on alphaev68-pc-linux-gnu
where it fixes all libjava failures [2].

OK for mainline SVN and release branches?

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50737
[2] http://gcc.gnu.org/ml/gcc-testresults/2011-10/msg01333.html

Uros.
-------------- next part --------------
Index: config/alpha/linux-unwind.h
===================================================================
--- config/alpha/linux-unwind.h	(revision 179788)
+++ config/alpha/linux-unwind.h	(working copy)
@@ -74,5 +74,7 @@ alpha_fallback_frame_state (struct _Unwind_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;
 }


More information about the Gcc-patches mailing list