This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC build failed for 3 targets with your patch on 2002-06-02T21:21:24Z.


> if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi
> /maat/heart/tbox/powerpc-eabisim/build/gcc/xgcc -B/maat/heart/tbox/powerpc-eabisim/build/gcc/ -B/maat/heart/tbox/objs/powerpc-eabisim/bin/ -B/maat/heart/tbox/objs/powerpc-eabisim/lib/ -isystem /maat/heart/tbox/objs/powerpc-eabisim/include -O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I/maat/heart/tbox/cvs-gcc/gcc/gcc -I/maat/heart/tbox/cvs-gcc/gcc/gcc/. -I/maat/heart/tbox/cvs-gcc/gcc/gcc/config -I/maat/heart/tbox/cvs-gcc/gcc/gcc/../include  -mrelocatable-lib -mno-eabi -mstrict-align -DL_muldi3 -c /maat/heart/tbox/cvs-gcc/gcc/gcc/libgcc2.c -o libgcc/./_muldi3.o
> /maat/heart/tbox/cvs-gcc/gcc/gcc/libgcc2.c: In function `__muldi3':
> /maat/heart/tbox/cvs-gcc/gcc/gcc/libgcc2.c:367: Internal compiler error in final, at final.c:1909
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
> make[2]: *** [libgcc/./_muldi3.o] Error 1
> make[2]: Leaving directory `/maat/heart/tbox/powerpc-eabisim/build/gcc'
> make[1]: *** [stmp-multilib] Error 2
> make[1]: Leaving directory `/maat/heart/tbox/powerpc-eabisim/build/gcc'

Hi,
the problem is triggered by my stmt nesting patch, as I emit the notes
on demand very late in the game.  I am commiting the patch as obvious.
I've also taken oppurtunity to kill unneeded STACK_REGS ifdef, as i386
now always compte addresses.

Mon Jun  3 00:18:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
	* final.c (final):  Allow notes to not have computed addresses;
	kill no longer needed STACK_REGS ifdef.
Index: final.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/final.c,v
retrieving revision 1.258
diff -c -3 -p -r1.258 final.c
*** final.c	2 Jun 2002 21:09:15 -0000	1.258
--- final.c	2 Jun 2002 22:18:06 -0000
*************** final (first, file, optimize, prescan)
*** 1898,1913 ****
  #ifdef HAVE_ATTR_length
        if ((unsigned) INSN_UID (insn) >= INSN_ADDRESSES_SIZE ())
  	{
- #ifdef STACK_REGS
- 	  /* Irritatingly, the reg-stack pass is creating new instructions
- 	     and because of REG_DEAD note abuse it has to run after
- 	     shorten_branches.  Fake address of -1 then.  */
- 	  insn_current_address = -1;
- #else
  	  /* This can be triggered by bugs elsewhere in the compiler if
  	     new insns are created after init_insn_lengths is called.  */
! 	  abort ();
! #endif
  	}
        else
  	insn_current_address = INSN_ADDRESSES (INSN_UID (insn));
--- 1898,1909 ----
  #ifdef HAVE_ATTR_length
        if ((unsigned) INSN_UID (insn) >= INSN_ADDRESSES_SIZE ())
  	{
  	  /* This can be triggered by bugs elsewhere in the compiler if
  	     new insns are created after init_insn_lengths is called.  */
! 	  if (GET_CODE (insn) == NOTE)
! 	    insn_current_address = -1;
! 	  else
! 	    abort ();
  	}
        else
  	insn_current_address = INSN_ADDRESSES (INSN_UID (insn));


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]