Re: What exactly does "info sharedlibrary" command show?

Steve Eaton
2006-08-29T21:05:41Z

Daniel,
I appologise if this is common knowledge, i just recently
signed up to the gdb group.

While on the shared library subject. We are struggling with how to
deal with them here. When I get a core from a customer they can have
100's of shared libraries of varying versions. An examaple would be

Core was generated by `/usr/sbin/ndsd'.
Reading symbols from /usr/lib/libccs2.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/sbin/../lib/libccs2.so
Reading symbols from /usr/lib/nds-modules/libdsloader.so.1...(no
debugging symbols found)...done.
Loaded symbols for /usr/lib/nds-modules/libdsloader.so.1
Reading symbols from /usr/lib/libsal.so.1...done.
Loaded symbols for /usr/sbin/../lib/libsal.so.1
Reading symbols from /usr/lib/libdsutil.so.1...done.
Loaded symbols for /usr/sbin/../lib/libdsutil.so.1
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/tls/libpthread.so.0...done.
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /lib/tls/librt.so.1...done.
Loaded symbols for /lib/tls/librt.so.1
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/nds-modules/libncpengine.so...done.
Loaded symbols for /usr/lib//nds-modules/libncpengine.so
Reading symbols from /usr/lib/nds-modules/libncpns.so...done.
Loaded symbols for /usr/lib/nds-modules/libncpns.so
Reading symbols from /usr/lib/libntls.so...done.
Loaded symbols for /usr/sbin/../lib/libntls.so
Reading symbols from
/usr/lib/nds-modules/libsmbsharemodes.so.0...done.
Loaded symbols for /usr/lib/nds-modules/libsmbsharemodes.so.0
Reading symbols from /usr/lib/libstdc++.so.5...done.
Loaded symbols for /usr/sbin/../lib/libstdc++.so.5
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /usr/lib/nds-modules/libnds.so.1...done.
Loaded symbols for /usr/lib/nds-modules/libnds.so.1
Reading symbols from /usr/lib/libflaim.so.1...done.
Loaded symbols for /usr/lib/nds-modules/../libflaim.so.1
Reading symbols from /usr/lib/gconv/UNICODE.so...done.
Loaded symbols for /usr/lib/gconv/UNICODE.so
Reading symbols from /usr/lib/gconv/IBM437.so...done.
Loaded symbols for /usr/lib/gconv/IBM437.so
Reading symbols from /usr/lib/nds-modules/libmasv.so...done.
Loaded symbols for /usr/lib//nds-modules/libmasv.so
Reading symbols from /usr/lib/nds-modules/libhttpstk.so...done.
Loaded symbols for /usr/lib//nds-modules/libhttpstk.so
Reading symbols from /usr/lib/nds-modules/libgams.so...done.
Loaded symbols for /usr/lib//nds-modules/libgams.so
Reading symbols from /usr/lib/nds-modules/libnmas.so...done.
Loaded symbols for /usr/lib//nds-modules/libnmas.so
Reading symbols from /usr/lib/nds-modules/libspmdclnt.so...done.
Loaded symbols for /usr/lib//nds-modules/libspmdclnt.so
Reading symbols from /usr/lib/nds-modules/libniciext.so...done.
Loaded symbols for /usr/lib//nds-modules/libniciext.so
Reading symbols from /usr/lib/nds-modules/libsnmp.so...done.
Loaded symbols for /usr/lib//nds-modules/libsnmp.so
Reading symbols from /usr/lib/nds-modules/libhconserv.so...done.
Loaded symbols for /usr/lib//nds-modules/libhconserv.so
Reading symbols from /usr/lib/nds-modules/libnldap.so...done.
Loaded symbols for /usr/lib//nds-modules/libnldap.so
Reading symbols from /usr/lib/nds-modules/libimon.so...done.
Loaded symbols for /usr/lib//nds-modules/libimon.so
Reading symbols from /usr/lib/liblangmani.so...done.
Loaded symbols for /usr/lib//nds-modules/../liblangmani.so
Reading symbols from /usr/lib/libxi18n.so...done.
Loaded symbols for /usr/lib//nds-modules/../libxi18n.so
Reading symbols from /usr/lib/libicui18n.so.21...done.
Loaded symbols for /usr/lib//nds-modules/../libicui18n.so.21
Reading symbols from /usr/lib/libicuuc.so.21...done.
Loaded symbols for /usr/lib//nds-modules/../libicuuc.so.21
Reading symbols from /usr/lib/libicudata.so.21...done.
Loaded symbols for /usr/lib//nds-modules/../libicudata.so.21
Reading symbols from /usr/lib/nds-modules/libembox.so...done.
Loaded symbols for /usr/lib//nds-modules/libembox.so
Reading symbols from /usr/lib/libXis11.so.1...done.
Loaded symbols for /usr/sbin/../lib/libXis11.so.1
Reading symbols from /usr/lib/nds-modules/embox/liblangman.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/liblangman.so
Reading symbols from /usr/lib/nds-modules/embox/libht2soap.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/libht2soap.so
Reading symbols from /usr/lib/nds-modules/embox/libeMBoxMgr.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/libeMBoxMgr.so
Reading symbols from /usr/lib/libemboxmsg.so...done.
Loaded symbols for /usr/sbin/../lib/libemboxmsg.so
Reading symbols from /usr/lib/nds-modules/embox/librss.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/librss.so
Reading symbols from /usr/lib/nds-modules/embox/libemsecure.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/libemsecure.so
Reading symbols from /usr/lib/nds-modules/libstatuslg.so...done.
Loaded symbols for /usr/lib//nds-modules/libstatuslg.so
Reading symbols from
/usr/lib/nds-modules/embox/emtools/liblogger.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/emtools/liblogger.so
Reading symbols from /var/nds/nmas-methods/certlsmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/certlsmlin.so
Reading symbols from /usr/lib/libnpkit.so.2...done.
Loaded symbols for /usr/lib/libnpkit.so.2
Reading symbols from /usr/lib/libldapsdk.so.0...done.
Loaded symbols for /usr/lib/libldapsdk.so.0
Reading symbols from
/usr/lib/nds-modules/embox/emtools/libschematl.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/emtools/libschematl.so
Reading symbols from
/usr/lib/nds-modules/embox/emtools/libmergetl.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/emtools/libmergetl.so
Reading symbols from
/usr/lib/nds-modules/embox/emtools/libbackuptl.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/emtools/libbackuptl.so
Reading symbols from /usr/lib/nds-modules/libbackupcr.so...done.
Loaded symbols for /usr/lib//nds-modules/libbackupcr.so
Reading symbols from
/usr/lib/nds-modules/embox/emtools/librepairtl.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/emtools/librepairtl.so
Reading symbols from
/usr/lib/nds-modules/embox/emtools/libservictl.so...done.
Loaded symbols for /usr/lib//nds-modules/embox/emtools/libservictl.so
Reading symbols from /usr/lib/nds-modules/libpkiserver.so...done.
Loaded symbols for /usr/lib//nds-modules/libpkiserver.so
Reading symbols from /var/nds/nmas-methods/certlcmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/certlcmlin.so
Reading symbols from /usr/lib/libslp.so.1...done.
Loaded symbols for /usr/lib/nds-modules/../libslp.so.1
Reading symbols from /usr/lib/libcrypto.so.0.9.7...done.
Loaded symbols for /usr/sbin/../lib/libcrypto.so.0.9.7
Reading symbols from /var/nds/nmas-methods/crlsmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/crlsmlin.so
Reading symbols from /var/nds/nmas-methods/lsmmd5lin.so...done.
Loaded symbols for /var/nds/nmas-methods/lsmmd5lin.so
Reading symbols from /var/nds/nmas-methods/lcmmd5lin.so...done.
Loaded symbols for /var/nds/nmas-methods/lcmmd5lin.so
Reading symbols from /var/nds/nmas-methods/epwdlsmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/epwdlsmlin.so
Reading symbols from /var/nds/nmas-methods/etadvlsmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/etadvlsmlin.so
Reading symbols from /usr/lib/libnpkiapi.so.2...done.
Loaded symbols for /usr/lib/libnpkiapi.so.2
Reading symbols from /var/nds/nmas-methods/pwdlsmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/pwdlsmlin.so
Reading symbols from /var/nds/nmas-methods/pwdlcmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/pwdlcmlin.so
Reading symbols from /var/nds/nmas-methods/usclsmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/usclsmlin.so
Reading symbols from /var/nds/nmas-methods/x509alsmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/x509alsmlin.so
Reading symbols from /usr/lib/liblburp.so...done.
Loaded symbols for /usr/lib//liblburp.so
Reading symbols from /usr/lib/nds-modules/libldapxs.so...done.
Loaded symbols for /usr/lib//nds-modules/libldapxs.so
Reading symbols from /usr/lib/nds-modules/libnmasldap.so...done.
Loaded symbols for /usr/lib//nds-modules/libnmasldap.so
Reading symbols from /var/nds/nmas-methods/cpwdplsmlin.so...done.
Loaded symbols for /var/nds/nmas-methods/cpwdplsmlin.so
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /usr/lib/nds-modules/libsasl.so...done.
Loaded symbols for /usr/lib//nds-modules/libsasl.so

Now imagine you had to do something useful with the said core file. I
have to try and match up all of the above shared libraries of various
versions, or try and get fancy and parse the output and tar up the users
files. You don't have the luxury of having the -g in every library that
is run everywhere.

The best I have been able to do is to get the user to open the file in
gdb and do a
thread apply all bt, in that way I can fiddle around with different
versions of shared library files until the stacks look right.

Is there an option that a person could configure to include the so
files in the core or something equivelent ?

Thanks,
Steve