Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!osuunx.ucc.okstate.edu!moe.ksu.ksu.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!agate!msuinfo!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!arundel.vthrc.uq.oz.au!D.Thomas From: Danny Thomas <D.Thomas@vthrc.uq.edu.au> Newsgroups: comp.os.386bsd.misc Subject: how *not* to use shared libraries Date: 4 Feb 1994 23:15:13 GMT Organization: Vision, Touch & Hearing Research Centre Lines: 36 Distribution: world Message-ID: <2iuku1$sjs@dingo.cc.uq.oz.au> NNTP-Posting-Host: arundel.vthrc.uq.oz.au X-UserAgent: Version 1.1.3 X-XXMessage-ID: <A97915B7DB010415@arundel.vthrc.uq.oz.au> X-XXDate: Sat, 5 Feb 94 17:21:59 GMT In comp.risks 15.41 Andrew Shapiro writes: > The other evening I stumbled upon an interesting single point failure for > Sun Microsystem computers. While working I distroyed the /lib/libc.so.0.15 > file. To my surprise nothing works without it. I already knew that Sun's > defaulted to dynamic binding at link time, I also knew that it was possible > to suppress this option by using the -Bstatic keyword to the link editor, > ld(1). What surprised me was that the static option had not been used when > building any of the user commands. I would have expected some of the most > basic commands like ls, cp, and either tar or dd to be compiled with static > linking. If this were the case repairing the /lib/libc.so.0.15 file would > be simple. Instead I was forced to reboot from tape, install the mini-kerne > and then mount the filesystem and restore the file. > > I believe the engineers that developed the dynamic binding system understood > the implications of *every* program depending on a single file and kept the > static binding option to prevent this. However, if the OS designers never > use the static option and the dynamic library is lost . . . doesn't say what version of SunOS he was using and whether it was fixed in later releases. cheers, Danny Thomas