This is the mail archive of the
mailing list for the GCC project.
[patch committed SH] Mark a stack adjustment insn as frame-related
- From: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 04 Nov 2010 07:06:21 +0900 (JST)
- Subject: [patch committed SH] Mark a stack adjustment insn as frame-related
g++.dg/torture/stackalign/eh-vararg-.C fails on sh64-*.
It looks that a stack adjustment insn isn't marked as
frame-related and causes wrong unwinding. The patch below
is to fix this problem. It seems that now the comment
removed with this patch doesn't match the current behavior
of dwarf2 module.
The patch is tested with bootstrap and "make -k check" on
sh4-unknown-linux-gnu with no new failures. Applied on
2010-11-03 Kaz Kojima <firstname.lastname@example.org>
* config/sh/sh.c (sh_expand_prologue): Remove unnecessary
comment. Pass true to the last argument of output_stack_adjust.
--- ORIG/trunk/gcc/config/sh/sh.c 2010-11-02 10:01:03.000000000 +0900
+++ trunk/gcc/config/sh/sh.c 2010-11-02 16:07:14.000000000 +0900
@@ -6881,10 +6881,10 @@ sh_expand_prologue (void)
> crtl->args.info.arg_count[(int) SH_ARG_INT]))
pretend_args = 0;
- /* Dwarf2 module doesn't expect frame related insns here. */
- crtl->args.info.stack_regs * 8,
- stack_pointer_rtx, 0, NULL, false);
+ stack_pointer_rtx, 0, NULL, true);
stack_usage = pretend_args + crtl->args.info.stack_regs * 8;
if (TARGET_SHCOMPACT && flag_pic && crtl->args.info.call_cookie)