irix5/irix6 dwarf2out assertion failures

Jim Wilson wilson@cygnus.com
Mon Sep 22 22:00:00 GMT 1997


This should fix the problems with dwarf2out assertion failures.
I have not had time to fully test the patch yet though, so it is possible
that there are still other problems.

dwarf2out.c:1073: failed assertion `cfa_store_reg == STACK_POINTER_REGNUM'
xgcc: Internal compiler error: program cc1 got fatal signal 6

Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>

	* mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.

Index: mips.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/config/mips/mips.c,v
retrieving revision 1.93
diff -p -r1.93 mips.c
*** mips.c	1997/09/08 20:49:40	1.93
--- mips.c	1997/09/23 02:31:27
*************** save_restore_insns (store_p, large_reg, 
*** 5007,5013 ****
  		insn = emit_insn (gen_adddi3 (base_reg_rtx, large_reg, stack_pointer_rtx));
  	      else
  		insn = emit_insn (gen_addsi3 (base_reg_rtx, large_reg, stack_pointer_rtx));
! 	      RTX_FRAME_RELATED_P (insn) = 1;
  	    }
  	  else
  	    fprintf (file, "\t%s\t%s,%s,%s\n",
--- 5007,5014 ----
  		insn = emit_insn (gen_adddi3 (base_reg_rtx, large_reg, stack_pointer_rtx));
  	      else
  		insn = emit_insn (gen_addsi3 (base_reg_rtx, large_reg, stack_pointer_rtx));
! 	      if (store_p)
! 		RTX_FRAME_RELATED_P (insn) = 1;
  	    }
  	  else
  	    fprintf (file, "\t%s\t%s,%s,%s\n",
*************** save_restore_insns (store_p, large_reg, 
*** 5024,5035 ****
  	  if (file == (FILE *)0)
  	    {
  	      insn = emit_move_insn (base_reg_rtx, GEN_INT (gp_offset));
! 	      RTX_FRAME_RELATED_P (insn) = 1;
  	      if (TARGET_LONG64)
  		insn = emit_insn (gen_adddi3 (base_reg_rtx, base_reg_rtx, stack_pointer_rtx));
  	      else
  		insn = emit_insn (gen_addsi3 (base_reg_rtx, base_reg_rtx, stack_pointer_rtx));
! 	      RTX_FRAME_RELATED_P (insn) = 1;
  	    }
  	  else
  	    fprintf (file, "\tli\t%s,0x%.08lx\t# %ld\n\t%s\t%s,%s,%s\n",
--- 5025,5038 ----
  	  if (file == (FILE *)0)
  	    {
  	      insn = emit_move_insn (base_reg_rtx, GEN_INT (gp_offset));
! 	      if (store_p)
! 		RTX_FRAME_RELATED_P (insn) = 1;
  	      if (TARGET_LONG64)
  		insn = emit_insn (gen_adddi3 (base_reg_rtx, base_reg_rtx, stack_pointer_rtx));
  	      else
  		insn = emit_insn (gen_addsi3 (base_reg_rtx, base_reg_rtx, stack_pointer_rtx));
! 	      if (store_p)
! 		RTX_FRAME_RELATED_P (insn) = 1;
  	    }
  	  else
  	    fprintf (file, "\tli\t%s,0x%.08lx\t# %ld\n\t%s\t%s,%s,%s\n",
*************** save_restore_insns (store_p, large_reg, 
*** 5124,5130 ****
  		insn = emit_insn (gen_adddi3 (base_reg_rtx, large_reg, stack_pointer_rtx));
  	      else
  		insn = emit_insn (gen_addsi3 (base_reg_rtx, large_reg, stack_pointer_rtx));
! 	      RTX_FRAME_RELATED_P (insn) = 1;
  	    }
  	  else
  	    fprintf (file, "\t%s\t%s,%s,%s\n",
--- 5127,5134 ----
  		insn = emit_insn (gen_adddi3 (base_reg_rtx, large_reg, stack_pointer_rtx));
  	      else
  		insn = emit_insn (gen_addsi3 (base_reg_rtx, large_reg, stack_pointer_rtx));
! 	      if (store_p)
! 		RTX_FRAME_RELATED_P (insn) = 1;
  	    }
  	  else
  	    fprintf (file, "\t%s\t%s,%s,%s\n",
*************** save_restore_insns (store_p, large_reg, 
*** 5141,5152 ****
  	  if (file == (FILE *)0)
  	    {
  	      insn = emit_move_insn (base_reg_rtx, GEN_INT (fp_offset));
! 	      RTX_FRAME_RELATED_P (insn) = 1;
  	      if (TARGET_LONG64)
  		insn = emit_insn (gen_adddi3 (base_reg_rtx, base_reg_rtx, stack_pointer_rtx));
  	      else
  		insn = emit_insn (gen_addsi3 (base_reg_rtx, base_reg_rtx, stack_pointer_rtx));
! 	      RTX_FRAME_RELATED_P (insn) = 1;
  	    }
  	  else
  	    fprintf (file, "\tli\t%s,0x%.08lx\t# %ld\n\t%s\t%s,%s,%s\n",
--- 5145,5158 ----
  	  if (file == (FILE *)0)
  	    {
  	      insn = emit_move_insn (base_reg_rtx, GEN_INT (fp_offset));
! 	      if (store_p)
! 		RTX_FRAME_RELATED_P (insn) = 1;
  	      if (TARGET_LONG64)
  		insn = emit_insn (gen_adddi3 (base_reg_rtx, base_reg_rtx, stack_pointer_rtx));
  	      else
  		insn = emit_insn (gen_addsi3 (base_reg_rtx, base_reg_rtx, stack_pointer_rtx));
! 	      if (store_p)
! 		RTX_FRAME_RELATED_P (insn) = 1;
  	    }
  	  else
  	    fprintf (file, "\tli\t%s,0x%.08lx\t# %ld\n\t%s\t%s,%s,%s\n",



More information about the Gcc mailing list