[Talk] State of dynamic linking in various platforms...

Daniel O'Connor darius at dons.net.au
Thu Aug 22 14:43:49 EST 2002


On Thu, 2002-08-22 at 13:54, Luke Mewburn wrote:
> 	NetBSD
> 		Statically linked /bin and /sbin. Rest dynamically linked
> 		against /usr/lib (with the linker in /usr/libexec/ld.elf_so).
> 
> 	FreeBSD
> 		Similar to NetBSD ???

Correct.

> 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 mailing list