Hi,
I want to build a ARM Toolchain for the Cirrus Logic EvalBoard EDB7211.
I tried to use:
binutils-2.10.1
gcc-2.95.2 with gcc-2.95.2-diff-991022
glibc-2.1.3
kernel linux-2.4.0-test6 + patch-2.4.0-test6-rmk6 +
patch-2.4.0-test6-rmk6-bluemug3
binutils compiles successfully with:
./configure --target=arm-linux --prefix=/usr/local/arm
make
make install
gcc-2.95.2
added -Dinhibit_libc Hack
./configure --target=arm-linux --prefix=/usr/local/arm
make LANGUAGES=c
ERROR:
cp ./config/arm/lib1funcs.asm libgcc1.S
for name in _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx; \
do \
echo ${name}; \
/opt/arm3/gcc-2.95.2/gcc/xgcc -B/opt/arm3/gcc-2.95.2/gcc/
-B/usr/local/arm/arm-linux/bin/ -I/usr/local/arm/arm-linux/include -O2
-DCROSS_COMPILE -DIN_GCC -g -O2 -I./include -fomit-frame-pointer -fPIC
-Dinhibit_libc -D__gthr_posix_h -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -I. -I. -I./config -I./../include -c -DL${name}
libgcc1.S; \
if [ $? -eq 0 ] ; then true; else exit 1; fi; \
mv libgcc1.o ${name}.o; \
arm-linux-ar rc tmplibgcc1.a ${name}.o; \
rm -f ${name}.o; \
done
_udivsi3
_divsi3
_umodsi3
_modsi3
_dvmd_lnx
make[1]: Leaving directory `/opt/arm3/gcc-2.95.2/gcc'
libgcc1.S:438: asm/unistd.h: No such file or directory
make[1]: *** [libgcc1-asm.a] Error 1
make: *** [all-gcc] Error 2
next try:
make -i LANGUAGES=c
RESULT:
checking if compiler cc1obj has been built... no
rmdir: libobjc: Directory not empty
gcc/xgcc -dumpmachine
RESULT:
arm-linux
make -i LANGUAGES=c install
works.
glibc:
CC=arm-linux-gcc ./configure arm-linux --build=i686-pc-linux-gnu
--prefix=/usr/local/arm/glibc/arm-linux-glibc --enable-add-ons
--with-headers=/usr/src/linux/include
make
ERROR:
arm-linux-gcc -shared -Wl,-O1 -o libdb.so
-Wl,-dynamic-linker=/usr/local/arm/glibc/arm-linux-glibc/lib/ld-linux.so.2
-B../csu/ -Wl,--version-script=../libdb.map -Wl,-soname=libdb.so.3 -L..
-L../math -L../elf -L../nss -L../nis -L. -L../rt -L../resolv
-L../linuxthreads
-Wl,-rpath-link=..:../math:../elf:../nss:../nis:.:../rt:../resolv:../linuxth
reads -Wl,--whole-archive libdb_pic.a ../elf/interp.os ../libc.so
-Wl,--no-whole-archive
rm -f libdb.so.3.new
/bin/sh ../scripts/rellns-sh libdb.so libdb.so.3.new
mv -f libdb.so.3.new libdb.so.3
arm-linux-gcc -nostdlib -nostartfiles -o makedb
-Wl,-dynamic-linker=/usr/local/arm/glibc/arm-linux-glibc/lib/ld-linux.so.2
../csu/crt1.o ../csu/crti.o `arm-linux-gcc --print-file-name=crtbegin.o`
makedb.o libdb.so.3
-Wl,-rpath-link=..:../math:../elf:../nss:../nis:.:../rt:../resolv:../linuxth
reads ../libc.so.6 ../libc_nonshared.a -lgcc `arm-linux-gcc
--print-file-name=crtend.o` ../csu/crtn.o
libdb.so.3: undefined reference to `__div0'
collect2: ld returned 1 exit status
make[1]: *** [makedb] Error 1
make[1]: Leaving directory `/opt/arm3/glibc-2.1.3/db2'
make: *** [db2/others] Error 2
I also tried to build a kernel. I think I don't need a running glibc. Right?
kernel configured well. (hope so)
make dep ; make clean
make Image
ERROR:
make CFLAGS="-D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes
-O2 -fno-common -fno-strict-aliasing -pipe -mapcs-32 -march=armv4
-mtune=arm7tdmi -mshort-load-bytes -msoft-float " -C arch/arm/kernel
make[1]: Entering directory `/usr/src/armlinux-2.4.0-test12/arch/arm/kernel'
arm-linux-gcc -D__KERNEL__ -I/usr/src/linux/include -Wall
-Wstrict-prototypes -O2 -fno-common -fno-strict-aliasing -pipe -mapcs-32
-march=armv4 -mtune=arm7tdmi
-mshort-load-bytes -msoft-float -c -o dma.o dma.c
arm-linux-gcc -D__KERNEL__ -I/usr/src/linux/include -Wall
-Wstrict-prototypes -O2 -fno-common -fno-strict-aliasing -pipe -mapcs-32
-march=armv4 -mtune=arm7tdmi
-mshort-load-bytes -msoft-float -c -o time.o time.c
arm-linux-gcc -D__KERNEL__ -I/usr/src/linux/include -Wall
-Wstrict-prototypes -O2 -fno-common -fno-strict-aliasing -pipe -mapcs-32
-march=armv4 -mtune=arm7tdmi
-mshort-load-bytes -msoft-float -c -o arch.o arch.c
arm-linux-gcc -D__ASSEMBLY__ -D__KERNEL__ -I/usr/src/linux/include -mapcs-32
-marmv4 -mno-fpu -c -o entry-armv.o entry-armv.S
entry-armv.S:505: #error Unknown architecture
make[1]: *** [entry-armv.o] Error 1
make[1]: Leaving directory `/usr/src/armlinux-2.4.0-test12/arch/arm/kernel'
make: *** [_dir_arch/arm/kernel] Error 2
Can anybody help, I don't know the right places to look to.
Thanks for your help,
Thomas Edelmann
_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm