Xref: utzoo comp.emacs:6059 comp.unix.questions:13564 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!apple!vsi1!ubvax!ardent!mrk!mac From: mac@mrk.ardent.com (Michael McNamara) Newsgroups: comp.emacs,comp.unix.questions Subject: Re: Does GNU emacs ever use shared libraries? Message-ID: <6443@ardent.UUCP> Date: 12 May 89 19:42:25 GMT References: <152@talarian.UUCP> Sender: news@ardent.UUCP Reply-To: mac@mrk.ardent.com (Michael McNamara) Distribution: usa Organization: Ardent Computer Corporation, Sunnyvale, CA Lines: 60 In article tale@pawl.rpi.edu writes: |In article <152@talarian.UUCP> scott@talarian.UUCP (Scott Weitzenkamp) writes: |> I noticed that on SunOS 4.0, GNU emacs uses the -Bstatic flag to cc |> to prevent the use of shared libraries. Does GNU emacs ever use |> shared libraries? If not, why not? | |Two reasons that I can think of: | |a) debugging is hell on something link edited with shared libraries. can be done. | |b) loadup is slower (often times perceptibly, not just some sort of |unnoticeable benchmark thing) when using shared libraries. not really. | |I am pretty certain that it _can_ be compiled with the libraries (ie, |what should prevent it, code-wise), but it isn't. The primary |argument for using them is to cut down on size of the application, but |the subsequent loss of debugging power and load-up time outweighs that |consideration as long as you have the space on your system. | |Dave |-- | tale@rpitsmts.bitnet, tale%mts@itsgw.rpi.edu, tale@pawl.rpi.edu Yes gnu-emacs can be compiled with and using shared libraries on system V. I did the port for the cydra 5 (when cydrome was still in business). The real reason GNU-emacs is distributed with -Bstatic on Sun 4.0 is because no one wanted to fix unexec to understand shared libraries. However, it is definatly possible to make unexec work with shared libraries. It is also possible to work around unexec in another way: David Robinson, at NASA Ames, has distributed diffs for gnu-emacs that: "Below are the diffs to 18.53 to implent GNU emacs under SunOS 4.0 using mmap() instead of unexec() and to also allow for shared libraries. A couple of installation notes, after temacs finishes preloading the lisp code it dumps the output into "xemacs.map" in the current directory. This file must be renamed to PATH_EXEC/emacs.map for normal use. If you wish to test the code out without moving the map file you can run "xemacs -map xemacs.map" for testing. Included in diff format are two new files, s-sunos4map.h and sunmap.c, if you are using "patch" they should be extracted with no problem. If you don't have patch (hard to believe) you can simply cut and paste them." You should send mail to David, as he has been working on this and I am sure has newer versions that what I have. He can be reached at: david@ames.arc.nasa.gov -mac _________________ Michael McNamara mac@ardent.com