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

Reply via email to