From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:0.9.1) Gecko/20010607 Description of problem: After an apparently sucessful build of gcc-2.96-85 (current Rawhide), the self-test of the compiler fails to complete. How reproducible: Always Steps to Reproduce: 1. rpm -ivh ~/gcc-2.96-85.src.rpm 2. In spec file, replace $RPM_OPT_FLAGS /w "-march=i386 -mcpu=i686 -O2". (This makes the default compiler switches explicit; probably not needed.) 3. rpm -bc /usr/src/redhat/SPECS/gcc.spec 4. cd /usr/src/redhat/BUILD/gcc-2.96-20000731/obj-i386-redhat-linux 5. make check Actual Results: Source file rdbzmain.c fails to compiler, causing the self-test to abort: /usr/src/redhat/BUILD/gcc-2.96-20000731/obj-i386-redhat-linux/gcc/xgcc -B/usr/src/redhat/BUILD/gcc-2.96-20000731/obj-i386-redhat-linux/gcc/ -B/usr/i386-redhat-linux/bin/ -B/usr/i386-redhat-linux/lib/ -isystem /usr/i386-redhat-linux/include -march=i386 -mcpu=i686 -O2 -I../../../../libio/dbz -I.. -I../../../../libio/dbz/.. -DDBZ_FINISH='_IO_flush_all()' -DHAVERFCIZE -c rdbzmain.c rdbzmain.c: In function `doline': rdbzmain.c:391: conversion to non-scalar type requested rdbzmain.c:403: conversion to non-scalar type requested rdbzmain.c: In function `dosweep': rdbzmain.c:473: conversion to non-scalar type requested make[3]: *** [rdbzmain.o] Error 1 make[3]: Leaving directory `/usr/src/redhat/BUILD/gcc-2.96-20000731/obj-i386-redhat-linux/i386-redhat-linux/libio/dbz' make[2]: *** [subdir_do] Error 1 make[2]: Leaving directory `/usr/src/redhat/BUILD/gcc-2.96-20000731/obj-i386-redhat-linux/i386-redhat-linux/libio' make[1]: *** [check] Error 2 make[1]: Leaving directory `/usr/src/redhat/BUILD/gcc-2.96-20000731/obj-i386-redhat-linux/i386-redhat-linux/libio' make: *** [check-target-libio] Error 2 Expected Results: Self-test should run to completion without errors. Additional info: 1. Build was done on a new install of RedHat Linux v7.1. All development tools used are those included in this distribution. 2. Build platform is an AMD K6-2/333MHz with 160MB RAM.
Same behavior seen in gcc-2.96-88.src.rpm (Rawhide) self-test. When this file (rdbzmain.c) is removed from the testsuite, the tests run to completion, though there are many of these complaints: runtest --tool xxxxx /bin/sh: runtest: command not found make[1]: [check-xxxxx] Error 127 (ignored) FYI.
The libio test is completely irrelevant, as it is testing part of libio which is not compiled into libstdc++ nor present in any shipped headers. To make you sleep well, here is a fix though (will put it into gcc-2.96-94): 2001-06-25 Jakub Jelinek <jakub> * iolibio.h (_IO_pos_BAD): Fix for glibc 2.2+. --- libio/iolibio.h.jj Tue Feb 24 21:09:50 1998 +++ libio/iolibio.h Mon Jun 25 11:37:09 2001 @@ -38,7 +38,7 @@ extern int _IO_obstack_vprintf __P ((str _IO_va_list)); extern int _IO_obstack_printf __P ((struct obstack *, const char *, ...)); #ifndef _IO_pos_BAD -#define _IO_pos_BAD ((_IO_fpos_t)(-1)) +#define _IO_pos_BAD ((_IO_off_t)(-1)) #endif #define _IO_clearerr(FP) ((FP)->_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN)) #define _IO_fseek(__fp, __offset, __whence) \ As for the missing runtest errors, that's user error, you should install dejagnu first. Without dejagnu, you're not testing the compiler at all (I do compiler regression testing on every single gcc rpm FYI).
That patch made it into gcc-2.96-95.