*BSD News Article 26971


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