Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!auspex!guy From: guy@auspex.auspex.com (Guy Harris) Newsgroups: comp.unix.wizards Subject: Re: Shared libraries (was Re: Window system bashing (was Re: X11 bashing)) Message-ID: <7763@auspex.auspex.com> Date: 12 May 91 18:53:30 GMT References: <572@appserv.Eng.Sun.COM> <1991May09.032802.27213@decuac.dec.com> Organization: Auspex Systems, Santa Clara Lines: 60 > I was talking this over with someone the other day who claimed >that SunOs' more recent versions have "often used" utilities like /bin/ls >statically linked because there were complaints of performance hits - >can anyone confirm or deny this? Unless they're thinking of some SunOS release that hasn't come out yet, yes, I can completely deny it: bootme% cat /etc/motd SunOS Release 4.1.1 (MCDLCD60) #9: Wed Mar 27 18:23:07 PST 1991 bootme% file /usr/bin/ls /usr/bin/ls: sparc pure dynamically linked executable bootme% cd /usr/bin bootme% file * | egrep -v \ 'dynamically linked|symbolic link|shell script|Permission denied' bar: sparc demand paged executable hostname: sparc pure executable ln: sparc pure executable mv: sparc pure executable rfuadmin: commands text sh: sparc demand paged executable sunview1: directory tar: sparc demand paged executable bootme% cd /usr/ucb bootme% file * | egrep -v \ 'dynamically linked|symbolic link|shell script|Permission denied' rcp: sparc demand paged set-uid executable ("/bin" is, of course, a symbolic link to "/usr/bin", so there's no point in looking at it). So the set of regular utilities that are statically linked includes: bar - beats me why it's statically linked, unless it's by analogy to "tar" hostname - it's run as part of the very early boot sequence, before "/usr" is mounted, i.e. before any shared libraries are available sh - see "hostname" tar, rcp - statically linked so they can be used to snarf shared libraries from somewhere else if you trash them (definitely true of "rcp", I think that was the reason for "tar" as well but I'm not sure) ln, mv - maybe the same as for "tar" and "rcp" >Is "ldconfig" or whatever it's called still a dynamically linked file?] bootme% file /usr/etc/ldconfig /usr/etc/ldconfig: sparc pure dynamically linked executable bootme% cd /usr/etc bootme% file * | egrep -v \ 'dynamically linked|symbolic link|shell script|Permission denied' fsck: sparc demand paged executable ifconfig: sparc demand paged executable init: sparc demand paged executable intr: sparc demand paged executable mount: sparc demand paged executable praudit: sparc pure executable restore: sparc demand paged set-uid executable update: sparc executable yp: directory