[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