This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hello,
I'm trying to build a cross-gcc for a MIPS big endian target (usual x86 host).
Right now, I'm using : binutils 2.14.90.0.7 gcc 3.3.2 glibc 2.2.5
I'm using crosstool-0.25 from Dan Kegel with following configuration files:
[David@DAHUT crosstool-0.25]$ cat mips.dat TARGET=mips-unknown-linux-gnu TARGET_CFLAGS="-O2 -finline-limit=10000"
[David@DAHUT crosstool-0.25]$ cat gcc-3.3.2-glibc-2.2.5.dat BINUTILS_DIR=binutils-2.14.90.0.7 GCC_DIR=gcc-3.3.2 GLIBC_DIR=glibc-2.2.5 LINUX_DIR=linux-2.4.19-rc1-cpp-mitsu GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.2.5 BUILD_DIR=/usr/local/src/mips-toolchain PREFIX=/usr/Applications/tc-mips-linux-bu2.14.90.0.7-gcc3.3.2-glibc2.2.5 TARBALLS_DIR=/usr/local/src/tarballs
I am calling Dan's scripts with: eval `cat mips.dat` `cat gcc-3.3.2-glibc-2.2.5.dat` sh all.sh --notest
I have already fixed a small issue by applying following patch to glibc-2.2.5/sysdeps/mips/dl-machine.h
--- dl-machine.h.orig 2003-12-16 11:05:03.000000000 +0100 +++ dl-machine.h 2003-12-16 10:48:40.000000000 +0100 @@ -450,7 +450,7 @@ addu $7, $7, 4\n\ subu $29, 16\n\ # Call the function to run the initializers.\n\ - jal _dl_init + jal _dl_init\n\ addiu $29, 16\n\ # Pass our finalizer function to the user in $2 as per ELF ABI.\n\ la $2, _dl_fini\n\
Everything (binutils, gcc first pass, glibc) seems to compile nicely. However, when the script is doing a make install for glibc, I obtain the following error:
+ make install install_root=/usr/Applications/tc-mips-linux-bu2.14.90.0.7-gcc3.3.2-glibc2.2 .5/mips-unknown-linux-gnu prefix= make: error while loading shared libraries: libc.so.6: ELF file data encoding not little-endian
I do not understand the issue. Would it be related to /bin/ld.so called instead of target ld.so? Has anybody faced a similar issue? Any idea how to fix that?
Many thanks in advance for any help, Sincerely yours, david mentré
roman@athlon1000:~/crosstool/mips-unknown/bin> ./*readelf -h a.out ELF Header: Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, big endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: MIPS R3000 Version: 0x1 Entry point address: 0x4005e0 Start of program headers: 52 (bytes into file) Start of section headers: 5416 (bytes into file) Flags: 0x1005, noreorder, cpic, o32, mips1 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 7 Size of section headers: 40 (bytes) Number of section headers: 33 Section header string table index: 30 roman@athlon1000:~/crosstool/mips-unknown/bin>
------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |