bug-binutils
[Top][All Lists]
Advanced

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

Binutils 2.21: ld: ABI is incompatible with that of the selected emulati


From: Christophe Jarry
Subject: Binutils 2.21: ld: ABI is incompatible with that of the selected emulation
Date: Mon, 30 May 2011 21:42:36 +0200

Dear developers,

I tried to build GCC 4.6.0 and it failed. The error seems to come from
Binutils so I post here. Here is what I did.

Under gNewSense metad (a freed version of Debian Lenny), I first built
binutils 2.21 as follows:

    cd binutils-build
    CC="gcc -B/usr/bin/" ../binutils-2.20/configure \
        --prefix=/tools --disable-nls --disable-werror
    make
    make install
    make -C ld clean
    make -C ld LIB_PATH=/tools/lib
    cp -v ld/ld-new /tools/bin
    cd ..
    rm -rf binutils-2.21
    rm -rf binutils-build

I ran some tests:

    `type ld` gave me "ld is /tools/bin/ld".

All went well, so I tried to build GCC 4.6.0 (with GMP 5.0.2, MPFR
3.0.1 and MPC 0.8.2):

    cd gcc-build
    CC="gcc -B/usr/bin/" ../gcc-4.6.O/configure --prefix=/tools \
        --disable-nls --disable-multilib --enable-shared \
        --enable-languages=c
    make bootstrap

After about 5 hours on Loongson 2F (Lemote Yeeloong), I encounter the
following error message:

    /tools/mips64el-unknown-linux-gnu/bin/ld: skipping incompatible
        /usr/lib/libc.so when searching for -lc
    /tools/mips64el-unknown-linux-gnu/bin/ld: /usr/lib/crti.o: ABI is
        incompatible with that of the selected emulation
    /tools/mips64el-unknown-linux-gnu/bin/ld: failed to merge target
        specific data of file /usr/lib/crti.o

    [snip]

    /tools/mips64el-unknown-linux-gnu/bin/ld: BFD (GNU Binutils) 2.21
        assertion fail ../../binutils-2.21/bfd/elfxx-mips.c:3161
    /tools/mips64el-unknown-linux-gnu/bin/ld: not enough GOT space for
        local GOT entries
    /tools/mips64el-unknown-linux-gnu/bin/ld: BFD (GNU Binutils) 2.21
        internal error, aborting at ../../binutils-2.21/bfd/
        elfxx-mips.c line 9224 in _bfd_mips_elf_relocate_section

    /tools/mips64el-unknown-linux-gnu/bin/ld: Please report this bug.

    collect2: ld returned 1 exit status
    make[3]: *** [libgcc_s.so] Error 1
    make[3]: Leaving directory `/opt/mygnulinux/build/gcc-build/
        mips64el-unknown-linux-gnu/libgcc'
    make[2]: *** [all-stage1-target-libgcc] Error 2
    make[2]: Leaving directory `/opt/mygnulinux/build/gcc-build'
    make[1]: *** [stage1-bubble] Error 2
    make[1]: Leaving directory `/opt/mygnulinux/build/gcc-build'
    make: *** [bootstrap] Error 2

FYI, my .bashrc:

    set +h
    umask 022
    SYSDIR=/opt/mygnulinux
    LC_ALL=POSIX
    PATH=/tools/bin:/bin:/usr/bin
    DOWNLOADDIR=${SYSDIR}/sources
    BUILDDIR=${SYSDIR}/build
    MABI="n32"
    BUILD_MABI="-mabi=${MABI}"
    PS1='\[\e[32m\]\t\[\e[00m\]:\[\e[32m\]\W\[\e[00m\]\$ '
    export SYSDIR LC_ALL PATH DOWNLOADDIR BUILDDIR MABI BUILD_MABI
    export PS1

My .bash_profile:

    exec env -i HOME=${HOME} TERM=${TERM} PS1=${PS1} /bin/bash

System's GCC is 4.4.5.

Where did I go wrong?

Thanks for your help,

Christophe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]