From: ao950 AT FreeNet DOT Carleton DOT CA (Paul Derbyshire) Newsgroups: comp.os.msdos.djgpp Subject: Re: ELF-binary format object file? Date: 3 Nov 1997 06:20:01 GMT Organization: The National Capital FreeNet Lines: 44 Message-ID: <63jqeh$nu2@freenet-news.carleton.ca> References: Reply-To: ao950 AT FreeNet DOT Carleton DOT CA (Paul Derbyshire) NNTP-Posting-Host: freenet2.carleton.ca To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Eli Zaretskii (eliz AT is DOT elta DOT co DOT il) writes: > On Thu, 30 Oct 1997, Salvador Eduardo Tropea (SET) wrote: > >> Yes, gcc (ld to be more exact) can generated dynamically linked >> libraries, they are much more powerful than the (dead brain) M$ DLL >> idea. >> This helps in too aspects: saves disk space and saves memory. > > This was also discussed a lot. To put the advantages in perspective, > I'd like to point out that shared libraries have two DISadvantages: > > - The shared library includes ALL of libc, so if the loader > loads it in its entirety, you actually *waste* memory (since > it's a rare program that uses all of the libc). Not if each .o of libc is dynamically-linked independently the way they are now statically linked independently. > - There's a problem with old/incompatible shared libraries, > especially in DJGPP where different modules/programs are > donated/built by different people. For example, recall that > many people patch their libraries to fix bugs and add > features, then distribute programs they build with these > patched libraries. This requires in practice that every > executable is distributed with its own shared library, > otherwise you risk that it will not work on somebody's > machine. Pretty soon your disk is full with different > versions of the library, and you end up *wasting* disk > storage. That is a potential problem. The solution is to let older programs continue to use the static library version built in, and to ensure that any and all shared libraries: a) are distributed as bug free as possible b) are always backward compatible when new versions come out, so new versions can be written over old ones without breaking anything, and users need only keep a single copy on their disks. -- .*. Where feelings are concerned, answers are rarely simple [GeneDeWeese] -() < When I go to the theater, I always go straight to the "bag and mix" `*' bulk candy section...because variety is the spice of life... [me] Paul Derbyshire ao950 AT freenet DOT carleton DOT ca, http://chat.carleton.ca/~pderbysh