[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Toolchain building problems


Because we need more free space on flash, we decided to use uClibc 
for our main clib. When we looked how to build and use uClibc we 
found that we have to rebuild the whole tool chain and in the process 
exchange glibc with uClibc. We followed the install-cris-tools script 
and managed to build binutils and cris-axis-elf and cris-axis-aout 
gccs. The problem arose when we tried to build cris-axis-linux-gnu first 
stage gcc. The problem seamed to be in gthread part of the code. 
We bypassed the problem with a simple change of configuration 
parameters. We changed --enable-treads=posix to --disable-threads. 

Next step was building uClibc with our new shining 
cris-axis-linux-gnu gcc (xgcc). When we ran make, we got this:

hlod:/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc # make KERNEL_SOURCE=/stuff1/4Pot/carneol/terminal/distribucija/build/linux-2.4.22/ DEVEL_PREFIX=/usr/local/uClibc-cris RUNTIME_PREFIX=/lib
+ ./extra/scripts/fix_includes.sh -k /stuff1/4Pot/carneol/terminal/distribucija/build/linux-2.4.22/ -t cris
Current kernel version is 2.4.22

Using kernel headers from 2.4.22 for architecture 'cris'
        provided in directory /stuff1/4Pot/carneol/terminal/distribucija/build/linux-2.4.22/

+ CC=/stuff1/4Pot/tmp/tmp/cris-dist-1.55/top/linux0/gcc/xgcc -b/stuff1/4Pot/tmp/tmp/cris-dist-1.55/top/linux0/gcc/
+ /bin/sh extra/scripts/gen_bits_syscall_h.sh
+ cmp include/bits/sysnum.h include/bits/sysnum.h.new
+ rm -f include/bits/sysnum.h.new
make -C libc/sysdeps/linux/common headers
make[1]: Entering directory `/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc/libc/sysdeps/linux/common'
ln -fs ../libc/sysdeps/linux/common/fpu_control.h ../../../..//include/
make[1]: Leaving directory `/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc/libc/sysdeps/linux/common'
make -C libc/sysdeps/linux/cris headers
make[1]: Entering directory `/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc/libc/sysdeps/linux/cris'
make[1]: Nothing to be done for `headers'.
make[1]: Leaving directory `/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc/libc/s4. What is the ming of life?ysdeps/linux/cris'
make -C  ldso
make[1]: Entering directory `/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc/ldso'
ln -fs ../../include/elf.h include/
ln -fs ../ldso/cris/boot1_arch.h include/
ln -fs ../ldso/cris/ld_syscalls.h include/
ln -fs ../ldso/cris/ld_sysdep.h include/
make -C ldso;
make[2]: Entering directory `/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc/ldso/ldso'
/stuff1/4Pot/tmp/tmp/cris-dist-1.55/top/linux0/gcc/xgcc -b/stuff1/4Pot/tmp/tmp/cris-dist-1.55/top/linux0/gcc/  -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing  -Os    -mlinux -fpic -DUCLIBC_RUNTIME_PREFIX=\"/lib\" -fno-builtin -nostdinc -I../../ldso/include -I. -I../../include -I/usr/local/uClibc-cris/lib/gcc-lib//stuff1/4Pot/tmp/tmp/cris-dist-1.55/top/linux0/gcc//3.2.1/include -I../libdl -c cris/resolve.S -o cris/resolve.o
Assembler messages:
Fatal error: emulations not handled in this configuration
make[2]: *** [cris/resolve.o] Error 1
make[2]: Leaving directory `/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc/ldso/ldso'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc/ldso'
make: *** [_dir_ldso] Error 2
hlod:/stuff1/4Pot/tmp/tmp/cris-dist-1.55/uclibc #

Can someone shine some light on it. (cris-dist-1.55 toolchain builds it)

Next I have some questions:
1. I use devboard 82. Do I really need the cris-axis-aout and cris-axis-elf gccs (The 
    question is: should I build them or should I be fine without them)
2. How big is the difference between gcc 3.3.1 (or 3.3.2) and the gcc in cris-dist-1.55?
3. Is there any other way of doing what I am doing - Is there anybody who uses uclibc in there 
    project(s) and if they are - could you tell us how you do it? Thank you.

		Regards Simon