This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Bug in cpplibs usage of hash tables
- To: gcc-bugs at gcc dot gnu dot org
- Subject: Bug in cpplibs usage of hash tables
- From: Andreas Jaeger <aj at suse dot de>
- Date: 13 Mar 2000 18:32:52 +0100
- Cc: Zack Weinberg <zack at wolery dot cumb dot org>
Running the testsuite on i686 with the current CVS version (which
includes Zack's fix for cpplib), I get now an ICE in cpp:
make[3]: Entering directory `/usr/src/aj/build-egcs-i686/i686-pc-linux-gnu/libio/dbz'
/usr/src/aj/build-egcs-i686/gcc/xgcc -B/usr/src/aj/build-egcs-i686/gcc/ -B/opt/aj-mips//i686-pc-linux-gnu/bin/ -g -O2 -I../../../../egcs/libio/dbz -I.. -I../../../../egcs/libio/dbz/.. -DDBZ_FINISH='_IO_flush_all()' -c ../../../../egcs/libio/dbz/fake.c
xgcc: Internal compiler error: program cpp got fatal signal 11
Here's the backtrace:
Program received signal SIGSEGV, Segmentation fault.
strcmp (p1=0x0, p2=0xbffff3c1 "sys/select.h") at ../sysdeps/generic/strcmp.c:38
38 ../sysdeps/generic/strcmp.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0 strcmp (p1=0x0, p2=0xbffff3c1 "sys/select.h")
at ../sysdeps/generic/strcmp.c:38
#1 0x805230c in eq_IHASH (x=0x805d4f8, y=0xbffff36c)
at ../../egcs/gcc/cppfiles.c:98
#2 0x8055f33 in htab_find_slot (htab=0x805dda8, element=0xbffff36c, insert=1)
at ../../egcs/libiberty/hashtab.c:270
#3 0x805248c in _cpp_find_include_file (pfile=0x805cac0,
fname=0xbffff3c1 "sys/select.h", search_start=0x805df08, ihash=0xbffff3e8,
before=0xbffff3ec) at ../../egcs/gcc/cppfiles.c:209
#4 0x804a633 in do_include (pfile=0x805cac0, keyword=0x8056b70)
at ../../egcs/gcc/cpplib.c:1201
#5 0x8049ae7 in handle_directive (pfile=0x805cac0)
at ../../egcs/gcc/cpplib.c:594
#6 0x804beb7 in cpp_get_token (pfile=0x805cac0)
at ../../egcs/gcc/cpplib.c:2421
#7 0x804905d in main (argc=35, argv=0xbffff4c4) at ../../egcs/gcc/cppmain.c:87
#8 0x40036313 in __libc_start_main (main=0x8048ec0 <main>, argc=35,
argv=0xbffff4c4, init=0x8048ab4 <_init>, fini=0x8056ac8 <_fini>,
rtld_fini=0x4000ac70 <_dl_fini>, stack_end=0xbffff4bc)
at ../sysdeps/generic/libc-start.c:90
This should be easy to reproduce - if not I can send preprocessed
sources.
My system: Linux 2.2.14, i686, glibc 2.1.2.
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.rhein-neckar.de