crosstool OS X host -> sparc/linux target?

Thomas Kalla xtx@gmx.de
Fri Sep 9 10:27:00 GMT 2005


Hi!

I'm trying to build a toolchain for a sparc32 linux architecture.

My choice was to use gcc-3.4.4, glibc-2.3.5, binutils-2.15 and  
kernel-2.6.8 because it's marked to work in the build matrix.

My build system is a Mac OS X 10.3.7, G4-1.5GHz, 512MB-RAM. It has all  
nessessary tools like GNU sed 4.1.4, GNU  Awk 3.1.4 and GNU Wget 1.10,  
crosstool-0.38

In fact I didn't get very far.

The first show-stopper was the same as in  
http://sourceware.org/ml/crossgcc/2005-06/msg00055.html . Mac uses  
Mach-O and not ELF, so I can neither use GNU ld nor GNU as.

After applying the patch, the compilation stopped while building the  
glibc headers. The compiler couldn't find a path to stddef.h. (The same  
happened while trying to build für i686 just for verification). So I  
copied $HEADERDIR/linux/stddef.h to $HEADERDIR/stddef.h and the  
compilation went fine until the following error:

sparc-unknown-linux-gnu-gcc  dl-reloc.c -c -std=gnu99 -O -Wall -Winline  
-Wstrict-prototypes -Wwrite-strings   -fPIC    -I../include -I.  
-I/Developer/sparc/crosstool-0.38/build/sparc-unknown-linux-gnu/gcc 
-3.4.4-glibc-2.3.5/build-glibc/elf -I.. -I../libio   
-I/Developer/sparc/crosstool-0.38/build/sparc-unknown-linux-gnu/gcc 
-3.4.4-glibc-2.3.5/build-glibc -I../sysdeps/sparc/sparc32/elf  
-I../linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32  
-I../linuxthreads/sysdeps/unix/sysv/linux/sparc  
-I../linuxthreads/sysdeps/unix/sysv/linux  
-I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread  
-I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix  
-I../linuxthreads/sysdeps/sparc/sparc32 -I../linuxthreads/sysdeps/sparc  
-I../sysdeps/unix/sysv/linux/sparc/sparc32  
-I../sysdeps/unix/sysv/linux/sparc -I../sysdeps/unix/sysv/linux  
-I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman  
-I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/sparc  
-I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/sparc/sparc32/fpu  
-I../sysdeps/sparc/sparc32 -I../sysdeps/wordsize-32  
-I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64  
-I../sysdeps/sparc/sparc32/soft-fp -I../sysdeps/sparc/fpu  
-I../sysdeps/sparc -I../sysdeps/ieee754 -I../sysdeps/generic/elf  
-I../sysdeps/generic -nostdinc -isystem  
/Volumes/sparc/crosstool-0.38/build/sparc-unknown-linux-gnu/gcc-3.4.4- 
glibc-2.3.5/gcc-core-prefix/bin/../lib/gcc/sparc-unknown-linux-gnu/ 
3.4.4/include -isystem  
/Volumes/sparc/crosstool/gcc-3.4.4-glibc-2.3.5/sparc-unknown-linux-gnu/ 
sparc-unknown-linux-gnu/include -D_LIBC_REENTRANT -include  
../include/libc-symbols.h  -DPIC -DSHARED -DNOT_IN_libc=1  
-DIS_IN_rtld=1     -o  
/Developer/sparc/crosstool-0.38/build/sparc-unknown-linux-gnu/gcc 
-3.4.4-glibc-2.3.5/build-glibc/elf/dl-reloc.os -MD -MP -MF  
/Developer/sparc/crosstool-0.38/build/sparc-unknown-linux-gnu/gcc 
-3.4.4-glibc-2.3.5/build-glibc/elf/dl-reloc.os.dt -MT  
/Developer/sparc/crosstool-0.38/build/sparc-unknown-linux-gnu/gcc 
-3.4.4-glibc-2.3.5/build-glibc/elf/dl-reloc.os
In file included from dynamic-link.h:22,
                  from dl-reloc.c:269:
../sysdeps/sparc/sparc32/dl-machine.h: In function `elf_machine_rela':
../sysdeps/sparc/sparc32/dl-machine.h:435: error: `_dl_rtld_map'  
undeclared (first use in this function)
../sysdeps/sparc/sparc32/dl-machine.h:435: error: (Each undeclared  
identifier is reported only once
../sysdeps/sparc/sparc32/dl-machine.h:435: error: for each function it  
appears in.)
make[2]: ***  
[/Developer/sparc/crosstool-0.38/build/sparc-unknown-linux-gnu/gcc 
-3.4.4-glibc-2.3.5/build-glibc/elf/dl-reloc.os] Error 1
make[2]: Leaving directory  
`/Volumes/sparc/crosstool-0.38/build/sparc-unknown-linux-gnu/gcc-3.4.4- 
glibc-2.3.5/glibc-2.3.5/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory  
`/Volumes/sparc/crosstool-0.38/build/sparc-unknown-linux-gnu/gcc-3.4.4- 
glibc-2.3.5/glibc-2.3.5'
make: *** [lib] Error 2


Now I'm quite clueless. Does anyone have an idea how to solve  
this?Unfortunately I didn't find any useful information on the net.

One last thing to mention: The same toolchain bilds fine when crosstool  
is run on my old Athlon based PC.


Thank you in advance,
Tom

PS: As I'm not subscribed to this list, please include me in CC.

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com



More information about the crossgcc mailing list