Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 May 1997 09:29:40 -0700
From:      John Polstra <jdp@polstra.com>
To:        peter@spinner.dialix.com.au
Cc:        hackers@freebsd.org
Subject:   Re: cvs commit: src/release boot_crunch.conf 
Message-ID:  <199705261629.JAA29016@austin.polstra.com>
In-Reply-To: <199705260329.LAA00670@spinner.dialix.com.au>
References:  <199705260329.LAA00670@spinner.dialix.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <199705260329.LAA00670@spinner.dialix.com.au>,
Peter Wemm  <peter@spinner.dialix.com.au> wrote:
> For dlopen/dlclose/etc to work, it requires that the calling executable is
> dynamically linked, linked with libc.so.xx and that /usr/libexec/ld.so is
> present.  A dynamic libc is important since if libalias makes any libc 
> calls (memcpy, strcmp, etc) then the symbols have to be dynamically 
> resolveable.

The right way to handle this is to add "-lc" to the linker line when
building libalias.so.m.n.  E.g.:

    cc -shared -o libalias.so.1.1 ... -lc

Then when you dlopen() libalias, it will pull in libc if that has
not already been done.

We probably should be building all of our shared libraries with
their dependencies specified explicitly in this way.

John
--
   John Polstra                                       jdp@polstra.com
   John D. Polstra & Co., Inc.                Seattle, Washington USA
   "Self-knowledge is always bad news."                 -- John Barth



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705261629.JAA29016>