[uClibc]gcc 3.2.1/gcc 3.2/gcc 2.95 toolchain builders updated

Ray L rayl at mail.com
Fri Nov 22 17:31:18 UTC 2002


On Thu, Nov 21, 2002 at 04:12:40AM -0700, Erik Andersen wrote:
> FYI, the gcc toolchain builders are now in CVS, which will
> make maintaining and updating them much simpler.  I also
> updated all the toolchains to work with the new uClibc
> config system, and I added support for gcc 3.2.1...
> 
> You can grab the thing as a tarball by visiting
>     http://www.uclibc.org/cgi-bin/cvsweb/toolchain/
> 
> or you can grab it from anonymous cvs on uclibc.org.  Unless
> someone objects, I don't plan to make any more toolchain tarballs
> and I plan be removing the existing tarballs from the download
> area soon...  


i've just tried to build the 2.95 and 3.2.1 toolchains for an i686-linux host
and arm-linux target.  i ran into the same problem with both builds.  as soon
as i reach the uClibc/ldso/ldso directory, the build fails on arm/resolve.S.


gcc "-Wall" -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing  -Os
     -fstrict-aliasing -fno-builtin -nostdinc  -D_LIBC   -I../../include -I.
     -I/usr/lib/gcc-lib/i386-redhat-linux/2.96/include -DNDEBUG -fPIC -I. -I./arm
     -I../libdl -c arm/resolve.S -o arm/resolve.o
/tmp/ccX4i1sg.s: Assembler messages:
/tmp/ccX4i1sg.s:8: Error: no such instruction: `stmdb sp!,{r0,r1,r2,r3,r10,r11}'
/tmp/ccX4i1sg.s:9: Error: too many memory references for `sub'
/tmp/ccX4i1sg.s:10: Error: too many memory references for `sub'
/tmp/ccX4i1sg.s:11: Error: too many memory references for `add'
/tmp/ccX4i1sg.s:12: Error: no such instruction: `ldr r0,[lr,'
/tmp/ccX4i1sg.s:13: Error: too many memory references for `mov'
/tmp/ccX4i1sg.s:15: Error: no such instruction: `bl _dl_linux_resolver'
/tmp/ccX4i1sg.s:17: Error: too many memory references for `mov'
/tmp/ccX4i1sg.s:18: Error: no such instruction: `ldmia sp!,{r0,r1,r2,r3,r10,r11,lr}'
/tmp/ccX4i1sg.s:19: Error: too many memory references for `mov'
make[3]: *** [arm/resolve.o] Error 1
make[3]: Leaving directory `/home/rayl/toolchain/gcc-2.95/build/uClibc/ldso/ldso'



it looks like the native compiler is being used to assemble the target assembly
file.  build/uClibc/Rules.mak has 'CROSS=', which looks suspicious.  the perl
line in the top level Makefile is supposed to fill that in with TARGET_CROSS,
but i don;t see TARGET_CROSS anywhere in the toolchain project.



all i've done is check out the toolchain project, edited the TARGET_PATH and
ARCH in the Makefile, and typed make.  should i be specifying TARGET_CROSS
somehow when i build a cross uClibc?  do i need to have a working
cross-compiler first to build the uClibc toolchain, or should it be completely
self-boot-strapping?



thanks

-- 
---------------------------------------------------------------------------
    Ray L <rayl at mail.com>



More information about the uClibc mailing list