Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 May 1997 15:49:31 +0800
From:      Peter Wemm <peter@spinner.dialix.com.au>
To:        Doug Rabson <dfr@nlsystems.com>
Cc:        Eivind Eklund <perhaps@yes.no>, "Jordan K. Hubbard" <jkh@time.cdrom.com>, jkh@freebsd.org, cvs-committers@freebsd.org, cvs-all@freebsd.org, cvs-release@freebsd.org, hackers@freebsd.org
Subject:   Re: cvs commit: src/release boot_crunch.conf 
Message-ID:  <199705260749.PAA06710@spinner.dialix.com.au>
In-Reply-To: Your message of "Mon, 26 May 1997 08:46:38 %2B0100." <Pine.BSF.3.95q.970526084454.349A-100000@herring.nlsystems.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Doug Rabson wrote:
> On Mon, 26 May 1997, Peter Wemm wrote:
> 
> > Eivind Eklund wrote:
> > > 
> > > [please delete committers etc if you reply to this - this belong in hacke
    rs]
> > > 
> > > > Well, I was mostly just trying to get the SNAPshot servers happy again.
    ..
> > > > 
> > > > As to making it a compile-time option..  Hmmm.  I like the idea of
> > > > saving space, but it would also complicate the build to have two
> > > > versions of ppp build at release time.  What we really need is a
> > > > dynamically loadable alias module. :-)
> > > 
> > > It shouldn't be too hard to use libalias through dlopen()/dlsym(),
> > > should it?  I've never used these interfaces, but the aliasing
> > > routines need only about three calls to work.
> > 
> > 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.  For sysinstall on the boot floppy, this is probably a 
> > showstopper.  However, at runtime on an installed system, there's probably 
> > not much stopping /usr/bin/ppp from doing this.
> 
> I recently changed ld so that you can link a dynamic executable even if it
> doesn't use any dynamic libs.  This means that the symbol table is
> generated and the program can load new libraries but it is itself static.
> Use the -Bforcedynamic flag to ld instead of -Bdynamic.

I suspect the catch would be that if the dynamic object wanted  to use 
memmove() and the calling -Bforcedynamic program hadn't caused memmove to 
be linked in from libc.a, then it might fail.  Anyway, it's something to 
watch out for..

> I must remember to document this stuff in the manpage :-(
> 
> --
> Doug Rabson				Mail:  dfr@nlsystems.com
> Nonlinear Systems Ltd.			Phone: +44 181 951 1891
> 					Fax:   +44 181 381 1039

Cheers,
-Peter





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