avoiding dynamic libgcc link when cross compiling a module for a non-fpu system

David Wuertele dave-gnus@bfnet.com
Wed Mar 19 22:37:00 GMT 2003


I'm building a module to use on a mipsel embedded system:

Module code: mixture of C and C++
Host arch:   i386
Target arch: mipsel, no FPU

I built a mipsel-gcc toolchain using uclibc.  I find that using
--soft-float to build my module causes my modules to not statically
link, so when I insmod them:

# insmod atyx220.o
insmod: unresolved symbol __fixdfsi
insmod: unresolved symbol __subsf3
insmod: unresolved symbol __eqsf2
insmod: unresolved symbol __floatsidf
insmod: unresolved symbol __truncdfsf2
insmod: unresolved symbol __fixunssfsi
insmod: unresolved symbol __divdf3
insmod: unresolved symbol __addsf3
insmod: unresolved symbol __fixunsdfsi
insmod: unresolved symbol __extendsfdf2
insmod: unresolved symbol __floatsisf
insmod: unresolved symbol __fixsfsi
insmod: unresolved symbol __nedf2
insmod: unresolved symbol __divsf3
insmod: unresolved symbol __muldf3
insmod: unresolved symbol __eqdf2
insmod: unresolved symbol __subdf3
insmod: unresolved symbol __ltdf2
insmod: unresolved symbol __adddf3
insmod: unresolved symbol __gtdf2
insmod: unresolved symbol __ledf2
insmod: unresolved symbol __gedf2
insmod: unresolved symbol __mulsf3
# 

I know what you are going to say: "Eeek!  you used C++ to write your
module????"  No, *I* didn't.  My vendor did, and I can't rewrite the
module.

Why does my module seem to be dynamically linking with libgcc?  I want
it to statically link!

I've put a very verbose output from the module compile at
  http://www.rokulabs.com/atyx220-compile

Any advice is appreciated!
Dave


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com



More information about the crossgcc mailing list