Mips Multilib issue

Mon Jun 2 23:20:00 GMT 2014


While attempting to build a toolchain for a new version of a MIPS system
(which needs multilib), I run across the following issue:

[ERROR]      configure: error: Need linker with .init_array/.fini_array support.
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Building for multilib subdir='32''
[ERROR]  >>        called in step 'Installing C library headers & start files'
[ERROR]  >>        called in step '(top-level)'

Which doesn't really tell me anything.  So, digging down a bit I find:

/big/home/akennedy/crosstool-ng-hg/.build/mips64-unknwon-linux-gnu/buildtools/lib/gcc/mips64-unknown-linux-gnu/4.8.2/../../../../mips64-unknown-linux-gnu/bin/ld: /tmp/ccSfwfwN.o: ABI is incompatible with that of the selected emulation
/big/home/akennedy/crosstool-ng-hg/.build/mips64-unknown-linux-gnu/buildtools/lib/gcc/mips64-unknown-linux-gnu/4.8.2/../../../../mips64-unknown-linux-gnu/bin/ld: failed to merge target specific data of file /tmp/ccSfwfwN.o
collect2: error: ld returned 1 exit status
configure:6163: $? = 1
configure:6176: result: no
configure:6179: error: Need linker with .init_array/.fini_array support.

in the config.log of build-libc-startfiles_32.  Even more interesting is
the linker line above it:

configure:6160: mips64-unknown-linux-gnu-gcc -mabi=32 -U_FORTIFY_SOURCE -EB -march=xlp -mabi=n32 -mtune=mips64r2 -mhard-float -O2 -o conftest conftest.c -static -nostartfiles -nostdlib

Which would probably be my whole problem.  The issue, as I see it, is

CT_TARGET_CFLAGS=' -EB -march=xlp -mabi=n32 -mtune=mips64r2 -mhard-float '

and I'm attempting to build for -mabi=32.  So, the resulting command of
the former would be -mabi=n32 (as it is the last in the list), Right?

Without really doing a HACK in scripts/build/libc/glibc-eglibc.sh-common
(one in which I recreate the CFLAGS without my HARDCODED -mabi=n32
deleted, and inserted back into the list AFTER my command runs), what
can I do to fix this?


For unsubscribe information see http://sourceware.org/lists.html#faq

More information about the crossgcc mailing list