This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
GCC 3.1 ARM assembler problem (glibc 2.2.5 related) [was Re: ARMgcc 3.1 crosscompiler on host i386 linux build fails]
- From: Karel Gardas <kgardas at objectsecurity dot com>
- To: Alan Modra <amodra at bigpond dot net dot au>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 9 Apr 2002 10:32:58 +0200 (CEST)
- Subject: GCC 3.1 ARM assembler problem (glibc 2.2.5 related) [was Re: ARMgcc 3.1 crosscompiler on host i386 linux build fails]
On Tue, 9 Apr 2002, Alan Modra wrote:
> On Mon, Apr 08, 2002 at 09:33:11PM +0200, Karel Gardas wrote:
> >[snip woes about building gcc without glibc]
>
> Use --disable-shared --enable-languages=c when configuring gcc for the
> first time. This should build without errors. Install gcc.
Yes, you are right, adding '--disable-shared' into config option really
help.
> Build and install glibc.
This is my problem now. With correctly builded gcc compiler compilation of
glibc run more long (ie without previous error of linking with -lgcc etc),
but stop on error with arm assembler:
make[2]: Leaving directory `/home/karel/usr/src/arm/glibc-2.2.5/catgets'
make -C math others
make[2]: Entering directory `/home/karel/usr/src/arm/glibc-2.2.5/math'
arm-linux-gcc ../sysdeps/ieee754/dbl-64/e_lgamma_r.c -c -O2 -Wall -Winline
-Wstrict-prototypes -Wwrite-strings -g -Wno-uninitialized
-D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -DNO_LONG_DOUBLE
-D_Mlong_double_=double -I../include -I.
-I/home/karel/usr/src/arm/obj/math -I.. -I../libio
-I/home/karel/usr/src/arm/obj -I../sysdeps/arm/elf
-I../linuxthreads/sysdeps/unix/sysv/linux
-I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread
-I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix
-I../linuxthreads/sysdeps/arm -I../sysdeps/unix/sysv/linux/arm
-I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common
-I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv
-I../sysdeps/unix/arm -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/arm/fpu -I../sysdeps/arm -I../sysdeps/wordsize-32
-I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64
-I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic
-D_LIBC_REENTRANT -include ../include/libc-symbols.h -o
/home/karel/usr/src/arm/obj/math/e_lgamma_r.o
/tmp/cc6YDzXe.s: Assembler messages:
/tmp/cc6YDzXe.s:1083: Error: illegal value for co-processor offset
make[2]: *** [/home/karel/usr/src/arm/obj/math/e_lgamma_r.o] Error 1
make[2]: Leaving directory `/home/karel/usr/src/arm/glibc-2.2.5/math'
make[1]: *** [math/others] Error 2
make[1]: Leaving directory `/home/karel/usr/src/arm/glibc-2.2.5'
make: *** [all] Error 2
I've added -save-temps and assembler output looks:
1078 .LM148:
1079 ldfd f2, .L82+220
1080 mufd f1, f5, f1
1081 adfd f1, f1, f2
1082 .LM149:
1083 ldfd f2, .L82+228 <<--- here is error
1084 mufd f0, f5, f0
1085 adfd f0, f0, f2
1086 .LM150:
1087 ldfd f2, .L84
1088 mufd f1, f5, f1
1089 adfd f1, f1, f2
I don't know where is the problem. I think that now configuration is ok,
so error could be either in gcc (backend) or in assembler from binutils
2.12.
Can you help me with this problem?
Thanks,
Karel
--
Karel Gardas kgardas@objectsecurity.com
ObjectSecurity Ltd. http://www.objectsecurity.com