This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: glibc-2.2.93 crosscompile from 586 to mips


At 20:18 10.09.2002, Daniel Jacobowitz wrote:
On Tue, Sep 10, 2002 at 10:41:28AM -0700, ilya@theIlya.com wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello,
> I am trying to cross-compile glibc-2.2.93 from i586-linux to mips-linux.
> Following is error I get:
>
> mips-linux-gcc -nostdlib -nostartfiles -o /disk2/dist/programming/glibc-build/iconv/iconvconfig -Wl,-dynamic-linker=//lib/ld.so.1 /disk2/dist/programming/glibc-build/csu/crt1.o /disk2/dist/programming/glibc-build/csu/crti.o `mips-linux-gcc --print-file-name=crtbegin.o` /disk2/dist/programming/glibc-build/iconv/iconvconfig.o /disk2/dist/programming/glibc-build/iconv/strtab.o /disk2/dist/programming/glibc-build/iconv/xmalloc.o -Wl,-rpath-link=/disk2/dist/programming/glibc-build:/disk2/dist/programming/glibc-build/math:/disk2/dist/programming/glibc-build/elf:/disk2/dist/programming/glibc-build/dlfcn:/disk2/dist/programming/glibc-build/nss:/disk2/dist/programming/glibc-build/nis:/disk2/dist/programming/glibc-build/rt:/disk2/dist/programming/glibc-build/resolv:/disk2/dist/programming/glibc-build/crypt:/disk2/dist/programming/glibc-build/linuxthreads /disk2/dist/programming/glibc-build/libc.so.6 /disk2/dist/programming/glibc-build/libc_nonshared.a -lgcc `mips-linux-gcc --print-file-name=crtend.o` /disk2/dist/programming/glibc-build/csu/crtn.o
> /disk2/dist/programming/glibc-build/elf/ld.so.1: undefined reference to `elf_machine_rela'
> /disk2/dist/programming/glibc-build/libc.so.6: undefined reference to `__divdi3_internal'
> collect2: ld returned 1 exit status
> make[2]: *** [/disk2/dist/programming/glibc-build/iconv/iconvconfig] Error 1
> make[2]: Leaving directory `/disk2/dist/programming/glibc-2.2.93/iconv'
> make[1]: *** [iconv/others] Error 2
> make[1]: Leaving directory `/disk2/dist/programming/glibc-2.2.93'
> make: *** [all] Error 2
>
> root@gateway:/disk2/dist/programming/glibc-build#
> /crossdev/mips/bin/mips-linux-ld -v
> GNU ld version 2.12.90 20020703
> root@gateway:/disk2/dist/programming/glibc-build#
> /crossdev/mips/bin/mips-linux-gcc -v
> Reading specs from /crossdev/mips/lib/gcc-lib/mips-linux/3.2/specs
> Configured with: ../gcc-3.2/configure --prefix=/crossdev/mips
> - --disable-shared --with-gnu-as --enable-languages=c --disable-nls
> - --with-newlib --enable-checking=no --disable-threads
> - --with-headers=/usr/include --target=mips-linux
> Thread model: single
> gcc version 3.2

At a guess:
do-rel.h defines elf_machine_rel in terms of elf_machine_rela if
DO_RELA. dl-conflict.c just calls elf_machine_rela. It looks like it
needs to have some logic to possibly use REL instead of RELA.
That maybe the explanation for the first one, for the 2nd you need to know that every 32-bit platform now must compile sysdeps/wordsize-32/divdi3.c (and do proper versioning if you don't want to break shared libs compiled with gcc2).

Franz.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]