autoconf wrong + ICE during bootstrap for 000430 on i386-linux

Andi Kleen ak@suse.de
Sun Apr 30 08:16:00 GMT 2000


First it needed some surgery to compile at all to handle the getrlimits:
This autoconf check from gcc/configure.in seems to be broken:

gcc_AC_NEED_DECLARATIONS(getrlimit setrlimit getrusage, [
#include "gansidecl.h"
#include "system.h"
#ifdef HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#endif
])

because there is no way to pass HAVE_SYS_RESOURCE_H in, so the include is never included,
so the compilation of the test program fails. Later the own declarations cause the 
compilation of gcc/gcc.c to fail, because the RLIM_* constants are missing.

Given that it is impossible to add portable definition of RLIM_* (gcc.c uses RLIM_STACK)
the check for declarations is bogus. It'll never work without the include.

The easiest fix is to remove it.

Having fixed that the bootstrap fails with an ICE while compiling libio:

/u2/src/gnu/gcc/egcsobj/gcc/g++ -B/u2/src/gnu/gcc/egcsobj/gcc/ -B/pkg/gcc-000430/i586-pc-linux-gnu/bin/ -c -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates -I. -I../../../egcs/libio -nostdinc++ -D_IO_MTSAFE_IO ../../../egcs/libio/editbuf.cc
../../../egcs/libio/editbuf.cc: In method `void edit_buffer::gap_left
../../../egcs/libio/editbuf.cc: (int)':
../../../egcs/libio/editbuf.cc:165: Internal compiler error in
../../../egcs/libio/editbuf.cc:165: `remove_unncessary_notes', at
../../../egcs/libio/editbuf.cc:165: emit-rtl.c:2811
../../../egcs/libio/editbuf.cc:165: Please submit a full bug report.
../../../egcs/libio/editbuf.cc:165: See
../../../egcs/libio/editbuf.cc:165: <URL: http://www.gnu.org/software/gcc/bugs.html >
../../../egcs/libio/editbuf.cc:165: for instructions.

Seems the RTL is corrupted. My guess would be on the condexec patches to blame.

-Andi


More information about the Gcc-bugs mailing list