mklibs broken for gcc-4.3.x on mips
I've been using the svn version of mklibs to reduce a cross compiled
rootfs for mips or arm, and when I compile with gcc 4.2.x it all works
fine.
When I upgraded my toolchain to gcc 4.3.x then an arm rootfs still
reduces with mklibs and runs correctly. However the mips build breaks
mklibs with the following error:
I: Using /home/steel/Projects/41/tuxbuilder/trunk/mipsel-unknown-linux-gnu/rootfs/lib/ld.so.1
as dynamic linker.
I: library reduction pass 1
427 symbols, 423 unresolved
/home/steel/Projects/41/tuxbuilder/trunk/mipsel-unknown-linux-gnu/cross/x86_64-cross-linux-gnu/bin/mklibs:496:
DeprecationWarning: raising a string exception is deprecated
raise "No library provides non-weak %s" % name
Traceback (most recent call last):
File "/home/steel/Projects/41/tuxbuilder/trunk/mipsel-unknown-linux-gnu/cross/x86_64-cross-linux-gnu/bin/mklibs",
line 496, in <module>
raise "No library provides non-weak %s" % name
No library provides non-weak __gnu_local_gp@Base
make: *** [/dev/shm/mipsel-unknown-linux-gnu/minirootfs] Error 1
__gnu_local_gp seems to be a mips specific symbol in gcc, which is
apparently used to provide -mno-shared support to gcc. The
implementation of this symbol is in gcc-4.x.x/gcc/config/mips/mips.c
and the only thing which seems to have changed between gcc-4.2.4 and
gcc-4.3.1 is the parameters passed to emit_insn, and the addition of a
LOADGP_RTP option.
Does anyone have any idea how this has broken, and how to work around
/ fix this in gcc or mklibs?
Reply to: