ICE still in egcs-2.92.17 (was: Re: ICE with CVS egcs-2.92.13 on hppa1.1-hp-hpux10.20 - libg++ strikes again)

Manfred Hollstein manfred@s-direktnet.de
Wed Oct 28 05:15:00 GMT 1998


On Wed, 7 October 1998, 14:36:33, manfred@s-direktnet.de wrote:

 > These are the  problems I've encountered  while  building egcs sources
 > from CVS.
 > 
 > 1. Building the [class], [byval] and [convert] targets in
 >    ${target}/libg++/etc/benchmarks results in:
 > 
 >    ../../egcs-19981006/gcc/integrate.c:1741: Internal compiler error in function expand_inline_function
 > 
 >    This is similar to the problems I've  already reported for egcs-1.1
 >    (see      < http://www.cygnus.com/ml/egcs-bugs/1998-Sep/0819.html >),
 >    except that [call] and [call-var] now succeed.

This problem still persists in  egcs-2.92.17 from CVS as of 1998/10/27
13:24:44 +0100.  The relevant data (gdb  backtrace, see below) remains
valid; tell me, if you need a newer preprocessed dhrystone.ii.gz.

 > 
 > 2. The "tsort" test program from libg++/etc/ADT-examples loops forever
 >    in a tight loop at line 192 of tsort.cc (at least gdb tells so) - no
 >    problems on sparc-sun-solaris2.*.  I killed it manually after looping
 >    around for 980 minutes ;-)

This one is fixed!

 > 
 > I've attached a stack backtrace from inside gdb for problem 1. and the
 > preprocessed dhrystone.ii.gz.
 > 
 > 
 [snip]

Sources:	 - egcs from CVS last updated at 1998/10/27 13:24:44 +0100
		 - libg++-2.8.1.2a-19981027 (not yet released)
Patches:	 [1]: `No new 4th PATCH yet (was: Re: 3rd PATCH to pre-select
		       languages to be built)'
		      from <manfred@s-direktnet.de>.
		 [2]: `Re: gcjh won't build on SunOS 4.1.3 (memmove)java problem'
		      from <bothner@cygnus.com>.
Environment:	 - GNU binutils 2.9.1 + Ian Lance Taylor's patch to gas/ehopt.c
		 - dejagnu-971028
		 - gperf-2.7

configure flags: --with-gcc-version-trigger=/u/b60/manfred/work/GNU/build/sls1hx/egcs-19981027/gcc/version.c --host=hppa1.1-hp-hpux10.20 --srcdir=../egcs-19981027 --prefix=/u/b60/manfred/gnu/hppa1.1-hp-hpux10.20 --with-gnu-as --enable-version-specific-runtime-libs --with-local-prefix=/u/b60/manfred/gnu/hppa1.1-hp-hpux10.20 --enable-nls --verbose --norecursion
BOOT_CC:	 gcc version egcs-2.92.13 19981006 (gcc2 ss-980609 experimental)
BOOT_CFLAGS:	 -O2 -g
CFLAGS:		 -O2 -g
CXXFLAGS:	 -O2 -g

The following messages from gdb are from the older snapshot, but, as I
said above, they are  still identical (besides  differing linenumbers)
to the current one.

manfred


 > [2 log-hpux <application/octet-stream>]
 > Current directory is /local/manfred/work/GNU/egcs-19981006-hppa1.1-hp-hpux10.20/gcc/
 > GDB is free software and you are welcome to distribute copies of it
 >  under certain conditions; type "show copying" to see the conditions.
 > There is absolutely no warranty for GDB; type "show warranty" for details.
 > GDB 4.16 (hppa1.1-hp-hpux10.20), 
 > Copyright 1996 Free Software Foundation, Inc...
 > Breakpoint 1 at 0x218d34
 > Breakpoint 2 at 0x4e2fc
 > Breakpoint 3 at 0xc710c: file ../../egcs-19981006/gcc/toplev.c, line 2129.
 > (gdb) cd ~/work/GNU/build/sls1hx/egcs-19981006-hppa1.1-hp-hpux10.20/hppa1.1-hp-hpux10.20/libg++/etc/benchmarks
 > Working directory /u/b60/manfred/work/GNU/build/sls1hx/egcs-19981006-hppa1.1-hp-hpux10.20/hppa1.1-hp-hpux10.20/libg++/etc/benchmarks
 >  (canonically /local/manfred/work/GNU/egcs-19981006-hppa1.1-hp-hpux10.20/hppa1.1-hp-hpux10.20/libg++/etc/benchmarks).
 > (gdb) r dhrystone.ii -quiet -dumpbase dhrystone.cc -g -O2 -version -o dhrystone.s
 > Starting program: /local/manfred/work/GNU/egcs-19981006-hppa1.1-hp-hpux10.20/gcc/cc1plus dhrystone.ii -quiet -dumpbase dhrystone.cc -g -O2 -version -o dhrystone.s
 > warning: Unable to find __d_pid symbol in object file.
 > warning: Suggest linking with /usr/lib/end.o.
 > warning: GDB will be unable to track shl_load/shl_unload calls
 > Breakpoint 1 at 0x7af496e8
 > Breakpoint 2 at 0x7af528fc
 > GNU C++ version egcs-2.92.13 19981006 (gcc2 ss-980609 experimental) (hppa1.1-hp-hpux10.20) compiled by GNU C version egcs-2.92.13 19981006 (gcc2 ss-980609 experimental).
 > ../../egcs-19981006/gcc/integrate.c:1741: Internal compiler error in function expand_inline_function
 > 
 > Breakpoint 2, 0x7af528fc in ___exit ()
 > (gdb) bt
 > #0  0x7af528fc in ___exit ()
 > #1  0x1457ac in expand_inline_function (fndecl=0x4010bdd0, parms=0x7b03c268, 
 >     target=0x4016bb58, ignore=0, type=0x400cec80, structure_value_addr=0x0)
 >     at ../../egcs-19981006/gcc/integrate.c:1741
 > #2  0x109cb8 in expand_call (exp=0x401638b8, target=0x4016bb58, ignore=0)
 >     at ../../egcs-19981006/gcc/calls.c:730
 > #3  0x605d0 in cplus_expand_expr (exp=0x7b03c260, target=0x4016bb58, 
 >     tmode=1075197432, modifier=1075197552)
 >     at ../../../egcs-19981006/gcc/cp/expr.c:130
 > #4  0x103c60 in expand_expr (exp=0x401636a8, target=0x0, tmode=QImode, 
 >     modifier=EXPAND_NORMAL) at ../../egcs-19981006/gcc/expr.c:8056
 > #5  0xfba78 in store_expr (exp=0x401636a8, target=0x4016bb58, want_value=0)
 >     at ../../egcs-19981006/gcc/expr.c:3596
 > #6  0x1034bc in expand_expr (exp=0x401636c8, target=0x4016bb58, 
 >     tmode=VOIDmode, modifier=EXPAND_CONST_ADDRESS)
 >     at ../../egcs-19981006/gcc/expr.c:7727
 > #7  0x1037cc in expand_expr (exp=0x401637f0, target=0x0, tmode=VOIDmode, 
 >     modifier=EXPAND_SUM) at ../../egcs-19981006/gcc/expr.c:7862
 > #8  0x1016f4 in expand_expr (exp=0x401638a0, target=0x0, tmode=SImode, 
 >     modifier=EXPAND_SUM) at ../../egcs-19981006/gcc/expr.c:6733
 > #9  0x145008 in expand_inline_function (fndecl=0x400d16e8, parms=0x0, 
 >     target=0x0, ignore=0, type=0x40032270, structure_value_addr=0x0)
 >     at ../../egcs-19981006/gcc/integrate.c:1445
 > #10 0x109cb8 in expand_call (exp=0x40163850, target=0x0, ignore=0)
 >     at ../../egcs-19981006/gcc/calls.c:730
 > #11 0x1015ac in expand_expr (exp=0x40163850, target=0x0, tmode=SImode, 
 >     modifier=EXPAND_NORMAL) at ../../egcs-19981006/gcc/expr.c:6695
 > #12 0x101740 in expand_expr (exp=0x40163870, target=0x4016bb38, tmode=SImode, 
 >     modifier=EXPAND_NORMAL) at ../../egcs-19981006/gcc/expr.c:6746
 > #13 0xef060 in expand_return (retval=0x4016bb38)
 >     at ../../egcs-19981006/gcc/stmt.c:2668
 > #14 0xa855c in c_expand_return (retval=0x40163870)
 >     at ../../../egcs-19981006/gcc/cp/typeck.c:7499
 > #15 0xbdb80 in finish_return_stmt (expr=0x40163850)
 >     at ../../../egcs-19981006/gcc/cp/semantics.c:317
 > Cannot access memory at address 0x0.
 > (gdb) up
 > #1  0x1457ac in expand_inline_function (fndecl=0x4010bdd0, parms=0x7b03c268, 
 >     target=0x4016bb58, ignore=0, type=0x400cec80, structure_value_addr=0x0)
 >     at ../../egcs-19981006/gcc/integrate.c:1741
 > (gdb) l
 > 1736	    /* There is no return value to worry about.  */
 > 1737	    ;
 > 1738	  else if (GET_CODE (loc) == MEM)
 > 1739	    {
 > 1740	      if (! structure_value_addr || ! aggregate_value_p (DECL_RESULT (fndecl)))
 > 1741		abort ();
 > 1742	  
 > 1743	      /* Pass the function the address in which to return a structure value.
 > 1744		 Note that a constructor can cause someone to call us with
 > 1745		 STRUCTURE_VALUE_ADDR, but the initialization takes place
 > (gdb) p structure_value_addr
 > $1 = (struct rtx_def *) 0x0
 > (gdb) 



More information about the Gcc-bugs mailing list