This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]