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

Re: Toolchain building problems

> From: Simon Posnjak <simon.posnjak@xxxxxxx.si>
> Date: Wed, 4 Feb 2004 23:11:38 +0100

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

The "-gnu" part is for glibc, actually.

> 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

A surefire sign that your toolchain is broken; it says that when
it can't find its assembler, but instead tries to fall back on
using the host assembler.  GAS for all CRIS configurations is
multitarget (recognizes the "--emulation=NAME" option; doesn't
have the "emulations not handled" message compiled in).

Sorry, I'm not going to try and help you further on the road of
hacking the toolchain configurationwise.  It's too tangled for
email-guided development; that's why there's the
install-cris-tools script and not just instructions saying
"configure --target=cris && make all && make install".

Besides, you shouldn't need to modify the toolchain.  Many Axis
products use uclibc and there's no hacking the toolchain there;
they use a script confusingly called gcc_cris that emits the
right -L, -nostdlib, --dynamic-linker and -l options and builds
uclibc in the product tree (as libs/uclibc or similar).
Granted, TRT would seem to have a separate toolchain for uclibc,
but then you'd have to build uclibc separately, keeping it
stable and stuff.  Oh, look! It's actually there in devboard_82,
in tools/build/scripts/gcc_cris!

I'd have thought there'd be enough clues in the makefiles for
getting uclibc to work if you really really wanted.  Somebody
else will have to chime in here.

> 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)

I think in devboard_82 they're only used for the e100boot boot
stuff and then mostly for historical reasons.

> 2. How big is the difference between gcc 3.3.1 (or 3.3.2) and the gcc in cris-dist-1.55?

Pretty big since 1.55 is "based" on gcc-3.2.1 (with bugfixes).
Use "diff -rN" (and --exclude some directories) against the
official release to get the right answer.  I doubt using the
pristine 3.3.2 or 3.2.1 would simplify what you try to do.
Nothing wrong with the 3.3.x series (besides bugs fixed later) I
just haven't yet gone through 3.3.x with the same fine
verification/regression comb I used for 3.2.1.

brgds, H-P