Date: Fri, 9 Apr 1999 07:58:47 -0400 (EDT) From: J Kinsley To: bug-glibc AT gnu DOT org, pgcc AT delorie DOT com, pcg AT goof DOT com, egcs AT egcs DOT cygnus DOT com, egcs-bugs AT egcs DOT cygnus DOT com Subject: pgcc-1.1.1 glibc-2.1.1 strptime.c forbidden register Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: pgcc AT delorie DOT com While building glibc-2.1.1-990323 using the following packages, os: RedHat 5.0/5.2/homegrown kernel: 2.0.34 kernel includes:2.2.5 compiler: pgcc-2.91.60 19981201 (egcs-1.1.1) binutils: 2.9.1.0.23 gettext: 0.10.35 compilation halted on the shared object version of time/strptime.c with the following error message: make -C time subdir_lib make[2]: Entering directory `/home/system/redhat/BUILD/glibc/time' gcc strptime.c -c -D__USE_STRING_INLINES -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -fstrict-aliasing -g -march=pentiumpro -mpentiumpro -fPIC -I../include -I. -I/usr/src/redhat/BUILD/glibc/build-i686-linux/time -I.. -I../libio -I/usr/src/redhat/BUILD/glibc/build-i686-linux -I../sysdeps/i386/elf -I../crypt/sysdeps/unix -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/sysdeps/i386 -I../linuxthreads/sysdeps/pthread/no-cmpxchg -I../sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386/i686 -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/libm-i387/i686 -I../sysdeps/i386/fpu -I../sysdeps/libm-i387 -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754 -I../sysdeps/libm-ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -o /usr/src/redhat/BUILD/glibc/build-i686-linux/time/strptime.os strptime.c: In function `strptime_internal': strptime.c:818: fixed or forbidden register 3 (bx) was spilled for class GENERAL_REGS. This may be due to a compiler bug or to impossible asm statements or clauses. make[2]: *** [/usr/src/redhat/BUILD/glibc/build-i686-linux/time/strptime.os] Error 1 make[2]: Leaving directory `/home/system/redhat/BUILD/glibc/time' make[1]: *** [time/subdir_lib] Error 2 make[1]: Leaving directory `/home/system/redhat/BUILD/glibc' make: *** [all] Error 2 Initially, I was using -O6, then I tried -O3 as well as -O2 only for the problem be repeated each time. It only compiles with no optimization. I've seen reference to this specific problem in both teh pgcc and egcs list archives, but no definitive solution. I've also seen quite a few references to 'forbidden register' but have been unable to figure out how to fix the code from that information. Are there any patches for this problem or has anyone been able to get strptime.c to compile with optimization? TIA Regards, Jarrod Kinsley Copies-To: glibc bugs , pgcc-developers , Marc Lehmann , egcs , egcs-bugs -- Jarrod S. Kinsley System Administrator BTI Communications