[Talk] State of dynamic linking in various platforms...
darius at dons.net.au
Thu Aug 22 14:43:49 EST 2002
On Thu, 2002-08-22 at 13:54, Luke Mewburn wrote:
> Statically linked /bin and /sbin. Rest dynamically linked
> against /usr/lib (with the linker in /usr/libexec/ld.elf_so).
> Similar to NetBSD ???
> I'm working on a solution to making NetBSD have a dynamically linked
> "world", to solve a variety of problems (such as dlopen(3) not working
> for programs in /bin and /sbin because they're statically linked), but
> there's been some reasonable objections in the past because people
> have been "burnt" on Solaris and Linux.
Yeah.. lose libc and you're dead :)
> My solution is to provide /rescue, which contains a "crunched" copy of
> the files from /sbin and /bin statically linked, and switch /bin and
> /sbin to dynamic linking, with certain libraries moved from /usr/lib
> to /lib and the dynamic linker moved from /usr/libexec to /lib.
> (We have to retain existing functionality of not requiring /usr for
> the first stages of the boot process).
> Recovery in the case of failure of /lib/* is to boot to single user
> mode with /rescue/sh as the shell, and prepend /rescue to the PATH.
There is /stand in freebsd which contains a number of crunched binaries.
If is only for use with sysinstall so it tends to be missing some useful
stuff (eg ls, mount). It also doesn't get updated with buildworld :)
> I'm curious to other peoples experiences with fully dynamic systems,
> and thoughts on my solution.
Fully dynamic sounds useful WRT things like PAM and other modularised
core sub systems (eg name resolution).
The /rescue idea is good too :)
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
GPG Fingerprint - 9A8C 569F 685A D928 5140 AE4B 319B 41F4 5D17 FDD5
More information about the Talk