[uClibc]can't resolve symbol.

ibe at dcl.info.waseda.ac.jp ibe at dcl.info.waseda.ac.jp
Tue Jul 8 08:18:05 UTC 2003


Hi all,

I am finally succesfully build uClibc with a powerpc gcc
cross compiler.
(I use  2.4.18 in Montavista linux PE3.0.)

But I have some trouble when using some command like
ls, mount or other.

# ls
ls: can't resolve symbol '__eqdf2'
ls: can't resolve symbol '__floatsidf'
ls: can't resolve symbol '__ltdf2'
ls: can't resolve symbol '__adddf3'
ls: can't resolve symbol '__fixdfsi'
ls: can't resolve symbol '__negdf2'
ls: can't resolve symbol '__divdf3'
ls: can't resolve symbol '__muldf3'
ls: can't resolve symbol '__truncdfsf2'
ls: can't resolve symbol '__nedf2'
ls: can't resolve symbol '__gedf2'
ls: can't resolve symbol '__subdf3'
bin         dev         proc        usr
boot        etc         linuxrc     sbin
#

I think this problem is due to .config of uClibc.
So, I try to enable libgcc option in "make menuconfig" of uClibc.

General Library Settings --->
Add unresolved libgcc symbols to uClibc    Y

In this time, Although, my kernel stop after this message while booting.

"Freeing unused kernel memory : 56k init"

I found a hint in a log of make.

ppc_8xx-ld  -s -shared --warn-common --warn-once -z combreloc 
-soname=libc.so.0 -o libuClibc-0.9.19.so \
        --whole-archive ./tmp/libgcc-need.a libc.a \
        ..//libc/misc/internals/interp.o --no-whole-archive \
        -init __uClibc_init
/opt/hardhat/devkit/ppc/8xx/lib/gcc-lib/powerpc-hardhat-linux/3.2.1/libgcc.a

and I tried to remove -s option and remake uClibc, then I make sure of
symbol  of libuClibc-0.9.19.so.

$ nm libuClibc-0.9.19.so

a part of result :

00000898 t __adddf3
00000af0 t __divdf3
00000d6c t __eqdf2
00000a40 t __fixdfsi
00001a08 t __floatsidf
00000f74 t __gedf2
00001050 t __ltdf2
00001114 t __muldf3
00001580 t __nedf2
0000160c t __negdf2
00000904 t __subdf3
000009cc t __truncdfsf2

All symbol type of libgcc is 't'(symbol is local).
Although, my libgcc-need.a has a global symbol as below.

$ nm libgcc-need.a

_addsub_df.oS:
00000384 T __adddf3
        ...

Why does all symbol type of libgcc in libuClibc-0.9.19.so change into local?





More information about the uClibc mailing list