Date: Sun, 06 Jun 2004 14:52:45 -0700 From: Sean McNeil <sean@mcneil.com> To: freebsd-amd64@freebsd.org Cc: freebsd-threads@freebsd.org Subject: Re: symbol binding on dlopen Message-ID: <1086558765.59346.3.camel@server.mcneil.com> In-Reply-To: <1086557908.52631.11.camel@server.mcneil.com> References: <1086557908.52631.11.camel@server.mcneil.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2004-06-06 at 14:38, Sean McNeil wrote: > I have been trying to formulate a reasonable explanation why I am seeing > the following behavior: > > 1) start bash with nss_ldap. > 2) nss_ldap pulls in libpthread.so.1 via. some non-direct dependency - > libdb41.so.1. > 3) Constructor is called for libpthread.so.1 that installs signal > handler wrappers. > 4) libreadline.so.4 uses sigaction, but it is not binding to the strong > symbol of libpthread.so.1. It is still using the older one. > > Is this expected? Symbols will only be bound on the immediate > dependencies of what is loaded by dlopen, or should all symbols within > the closure be bound? (Answering my own question partly) nsdispatch calls dlopen with RTLD_LOCAL. If I understand correctly, that would mean this is expected and that libraries outside of the DAG wouldn't be effected (/lib/readline.so.4).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1086558765.59346.3.camel>