This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
cpp-related bootstrap fail: internal error: limit < buf in collect_expansion
- To: gcc-bugs at gcc dot gnu dot org
- Subject: cpp-related bootstrap fail: internal error: limit < buf in collect_expansion
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Sun, 6 Feb 2000 14:06:20 +0100
Hi,
todays CVS doesn't build for me:
/home/fsirl/obj/gccm/gcc/g++ -B/home/fsirl/obj/gccm/gcc/ -B/home/fsirl/gnubin/ppc-redhat-linux/bin/ -c -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-tem
plates -I. -I../../../../cvsx/gccm/libio -nostdinc++ -D_IO_MTSAFE_IO -fPIC ../../../../cvsx/gccm/libio/isgetsb.cc -o pic/isgetsb.o
/home/fsirl/obj/gccm/gcc/g++ -B/home/fsirl/obj/gccm/gcc/ -B/home/fsirl/gnubin/ppc-redhat-linux/bin/ -c -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templ
ates -I. -I../../../../cvsx/gccm/libio -nostdinc++ -D_IO_MTSAFE_IO ../../../../cvsx/gccm/libio/isgetsb.cc
test x"yes" != xyes || \
/home/fsirl/obj/gccm/gcc/g++ -B/home/fsirl/obj/gccm/gcc/ -B/home/fsirl/gnubin/ppc-redhat-linux/bin/ -c -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-tem
plates -I. -I../../../../cvsx/gccm/libio -nostdinc++ -D_IO_MTSAFE_IO -fPIC ../../../../cvsx/gccm/libio/isscan.cc -o pic/isscan.o
cpp: internal error: limit < buf in collect_expansion
make[2]: *** [isscan.o] Error 1
make[2]: Leaving directory `/home/fsirl/obj/gccm/ppc-redhat-linux/libio'
make[1]: *** [all-target-libio] Error 2
make[1]: Leaving directory `/home/fsirl/obj/gccm'
make: *** [bootstrap-lean] Error 2
Sun Feb 6 05:24:50 MST 2000
0m0.000s 0m0.000s
62m0.830s 2m58.630s
[fsirl@entropy:~/obj/gccm/ppc-redhat-linux/libio]$ gdb /home/fsirl/obj/gccm/gcc/cpp
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or 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.
This GDB was configured as "ppc-redhat-linux"...
(gdb) r
Starting program: /home/fsirl/obj/gccm/gcc/cpp -lang-c++ -nostdinc++ -v -I. -I../../../../cvsx/gccm/libio -iprefix /home/fsirl/obj/gccm/gcc/../lib/gcc-lib/ppc-
redhat-linux/2.96/ -isystem /home/fsirl/gnubin/ppc-redhat-linux/bin/include -isystem /home/fsirl/obj/gccm/gcc/include -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR_
_=96 -D__cplusplus -DPPC -D__ELF__ -Dpowerpc -D__PPC__ -D__ELF__ -D__powerpc__ -D__PPC -D__powerpc "-Acpu(powerpc)" "-Amachine(powerpc)" -D__EXCEPTIONS -D__CHA
R_UNSIGNED__ -D__OPTIMIZE__ -g -D__PIC__=2 -D__pic__=2 -D_CALL_SYSV -D_BIG_ENDIAN -D__BIG_ENDIAN__ "-Amachine(bigendian)" -D_ARCH_PPC -D__unix__ -D__linux__ -D
unix -Dlinux "-Asystem(unix)" "-Asystem(posix)" -D_GNU_SOURCE -D_IO_MTSAFE_IO ../../../../cvsx/gccm/libio/isscan.cc isscan.ii
cpp: GNU CPP version 2.96 20000206 (experimental) (cpplib) (PowerPC GNU/Linux)
cpp: ignoring nonexistent directory `/home/fsirl/gnubin/ppc-redhat-linux/bin/include'
cpp: ignoring nonexistent directory `/home/fsirl/obj/gccm/ppc-redhat-linux/include'
cpp: ignoring nonexistent directory `/home/fsirl/obj/gccm/lib/gcc-lib/ppc-redhat-linux/2.96/include'
cpp: ignoring nonexistent directory `/home/fsirl/gnubin/ppc-redhat-linux/include'
cpp: ignoring nonexistent directory `/home/fsirl/gnubin/lib/gcc-lib/ppc-redhat-linux/2.96/include'
#include "..." search starts here:
#include <...> search starts here:
.
../../../../cvsx/gccm/libio
/home/fsirl/obj/gccm/gcc/include
/usr/local/include
/usr/include
End of search list.
Breakpoint 1, collect_expansion (pfile=0x10028810, buf=0x7ffff3d2 "уа\020", limit=0x7ffff3d1 " уа\020", nargs=-1, arglist=0x0)
at ../../../cvsx/gccm/gcc/cpphash.c:298
298 cpp_fatal (pfile, "internal error: limit (%p) < buf (%p) in collect_expansion", limit, buf);
(gdb) bt full
#0 collect_expansion (pfile=0x10028810, buf=0x7ffff3d2 "уа\020", limit=0x7ffff3d1 " уа\020", nargs=-1, arglist=0x0) at ../../../cvsx/gccm/gcc/cpphash.c:298
defn = (DEFINITION *) 0xffffffff
p = (U_CHAR *) 0x7ffff3e8 ""
lastp = (U_CHAR *) 0x11 <Address 0x11 out of bounds>
exp_p = (U_CHAR *) 0x1327 <Address 0x1327 out of bounds>
endpat = (struct reflist *) 0x0
concat = (U_CHAR *) 0x0
stringify = (U_CHAR *) 0x0
maxsize = 0
expected_delimiter = 0
#1 0x10008c84 in create_definition (buf=0x7ffff3c0 " _IO_NEW_STREAMS уа\020", limit=0x7ffff3d1 " уа\020", pfile=0x10028810, predefinition=0)
at ../../../cvsx/gccm/gcc/cpphash.c:743
bp = (U_CHAR *) 0x7ffff3d2 "уа\020"
symname = (U_CHAR *) 0x7ffff3c1 "_IO_NEW_STREAMS уа\020"
sym_length = 15
rest_args = 0
line = 33
col = 64
file = 0x10030530 "../../../../cvsx/gccm/libio/streambuf.h"
defn = (DEFINITION *) 0x130c
arglengths = 0
mdef = {defn = 0xffffffff, symnam = 0x0, symlen = -1}
#2 0x10002144 in do_define (pfile=0x10028810, keyword=0x10014090) at ../../../cvsx/gccm/gcc/cpplib.c:671
hashcode = 17
mdef = {defn = 0x1d, symnam = 0xffdef80 "", symlen = 2147480592}
hp = (HASHNODE *) 0x7ffff3c0
here = 4903
buf = (U_CHAR *) 0x10028810 ""
end = (U_CHAR *) 0x11 <Address 0x11 out of bounds>
new_type = T_MACRO
#3 0x10001dfc in handle_directive (pfile=0x10028810) at ../../../cvsx/gccm/gcc/cpplib.c:583
c = 2147480530
kt = (struct directive *) 0x10014090
ident_length = 6
ident = (
U_CHAR *) 0x100487d0 "_IO_NEW_STREAMS __mode_t __mode) throw ();\n\n\n\n \n\nextern __mode_t umask (__mode_t __mask) throw ();\n\n\n \n\nextern __mode_t getumask (void) throw ();\n\n\n \nextern int mkdir (__const char *__path, __mode_t "...
old_written = 4903
#4 0x1000505c in cpp_get_token (pfile=0x10028810) at ../../../cvsx/gccm/gcc/cpplib.c:2361
c = 35
c2 = 268601748
c3 = 2147480530
token = 4903
opts = (struct cpp_options *) 0x10028994
#5 0x10000df8 in main (argc=268632064, argv=0x10028810) at ../../../cvsx/gccm/gcc/cppmain.c:82
p = 0x7ffff3d2 "уа\020"
argi = 268601360
opts = (struct cpp_options *) 0x10028994
This seems to be related to this code in streambuf.h:
#define _IO_NEW_STREAMS // new optimizated stream representation
Franz.