This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/50906] e500 exception unwinding under "-Os" causes SIGSEGV
- From: "amodra at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 06 Dec 2011 03:41:49 +0000
- Subject: [Bug target/50906] e500 exception unwinding under "-Os" causes SIGSEGV
- Auto-submitted: auto-generated
- References: <bug-50906-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50906
--- Comment #19 from Alan Modra <amodra at gcc dot gnu.org> 2011-12-06 03:41:49 UTC ---
Author: amodra
Date: Tue Dec 6 03:41:44 2011
New Revision: 182039
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182039
Log:
PR target/50906
* config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
Do not mark r11 setup as frame-related. Pass correct offset to
rs6000_emit_savres_rtx. Correct out-of-line rs6000_frame_related
arguments. Correct sp_offset. Remove "offset" fudge from
in-line rs6000_frame_related call. Rename misleading variable.
Fix comments and whitespace. Tidy some expressions.
(rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
to r11 in out-of-line case. Correct sp_offset. Pass correct
offset to rs6000_emit_savres_rtx. Rename misleading variable.
Fix comments and whitespace. Tidy some expressions.
(rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
adjustment when !saving_GPRs_inline. Correct register mode
used in address calcs.
(rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
!restoring_GPRs_inline.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c