Mail Archives: pgcc/1999/04/09/07:59:38
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 <bug-glibc AT gnu DOT org>,
pgcc-developers <pgcc AT delorie DOT com>,
Marc Lehmann <pcg AT goof DOT com>,
egcs <egcs AT egcs DOT cygnus DOT com>,
egcs-bugs <egcs-bugs AT egcs DOT cygnus DOT com>
--
Jarrod S. Kinsley
System Administrator
BTI Communications
- Raw text -