Hi, experts,
I'm an engineer of Sun browser team.
I have two questions for you:
1. How can I subscribe this mail alias?
I can't subscribe it in netadmin.
2. When I study a symbol resolving related issue for firefox-bin an
executable, I found that ld.so.1 tries to resolve a symbol named
"PL_strcmp" ( a global C function), by searching the runpath.
But I built firefox-bin with "-B direct" option and the
implementation is in shared library *libplc4.so*. The command line used
to build firefox-bin is:
/usr/dist/share/sunstudio_sparc,v10.0/SUNWspro/bin/CC -o firefox-bin
-I/usr/openwin/include -xbuiltin=%all -features=tmplife -norunpath -mt
-DNDEBUG -DTRIMMED -xO5 nsBrowserApp.o -xildoff -zlazyload
-zcombreloc -R '$ORIGIN:$ORIGIN/..' *-B direct -z ignore*
-L../../dist/bin -L../../dist/lib ../../dist/lib/libxulapp_s.a
-L../../dist/bin -lmozjs -L../../dist/bin -lxpcom -lxpcom_core
-L../../dist/lib -lplds4 *-lplc4* -lnspr4 -lpthread -ldl -lposix4
-lgtk-x11-2.0 -latk-1.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lm -lmlib
-lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgmodule-2.0 -lgobject-2.0
-lglib-2.0 -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lsocket
-lnsl -lsocket -ldl -lm
To my understanding, if firefox-bin is to call a function like
PL_strcmp, no symbol resolution should happen on it at runtime because
ld should bind it to its implementation directly.
For your reference, I attach the output of "elfdump -dy ./firefox-bin"
in this e-mail and following is part of the output of
"LD_DEBUG=libs,symbols,detail ./firefox-bin"
02005: 1: symbol=PL_strcmp; lookup in
file=/export/home/brian/firefox-optimize/optimize/firefox/firefox-bin [
ELF ]
02005: 1: symbol=PL_strcmp; lookup in file=/usr/lib/libc.so.1 [ ELF ]
02005: 1: symbol=PL_strcmp; lookup in
file=/export/home/brian/firefox-optimize/optimize/firefox/libxpcom_core.so
[ ELF ]
02005: 1: symbol=PL_strcmp; lookup in
file=/export/home/brian/firefox-optimize/optimize/firefox/libnspr4.so [
ELF ]
02005: 1: symbol=PL_strcmp; lookup in file=/usr/lib/libpthread.so.1 [
ELF ] 02005: 1: symbol=PL_strcmp; lookup in
file=/usr/lib/libthread.so.1 [ ELF ]
02005: 1: symbol=PL_strcmp; lookup in file=/usr/lib/librt.so.1 [ ELF ]
02005: 1: symbol=PL_strcmp; lookup in file=/usr/lib/libsocket.so.1 [ ELF ]
02005: 1: symbol=PL_strcmp; lookup in file=/usr/lib/libnsl.so.1 [ ELF ]
02005: 1: symbol=PL_strcmp; lookup in file=/usr/lib/libdl.so.1 [ ELF ]
02005: 1: symbol=PL_strcmp; lookup in file=/usr/lib/libaio.so.1 [ ELF ]
02005: 1: symbol=PL_strcmp; lookup in file=/usr/lib/libmd5.so.1 [ ELF ]
02005: 1: symbol=PL_strcmp; lookup in
file=/export/home/brian/firefox-optimize/optimize/firefox/libplds4.so [
ELF ]
02005: 1: symbol=PL_strcmp; lookup in
file=/usr/dist/share/sunstudio_sparc,v10.0/SUNWspro/lib/libCrun.so.1 [
ELF ]
02005: 1: symbol=PL_strcmp; lookup in
file=/export/home/brian/firefox-optimize/optimize/firefox/libmozjs.so [
ELF ]
02005: 1: symbol=PL_strcmp; lookup in
file=/export/home/brian/firefox-optimize/optimize/firefox/libplc4.so [
ELF ]
My environment is Nevada build 25 sparc.
Thanks in advance
Brian
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: aaa
URL:
<http://mail.opensolaris.org/pipermail/tools-linking/attachments/20051114/ebc80d36/attachment.ksh>