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] >> 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