Xref: utzoo comp.software-eng:2632 comp.misc:7608 Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!novavax!twwells!bill From: bill@twwells.com (T. William Wells) Newsgroups: comp.software-eng,comp.misc Subject: Re: Coding standards (was Re: Programmer productivity) Message-ID: <1989Dec7.132531.7960@twwells.com> Date: 7 Dec 89 13:25:31 GMT References: <1989Dec6.154103.2078@twwells.com> <14850@well.UUCP> Organization: None, Ft. Lauderdale, FL Lines: 58 In article <14850@well.UUCP> Jef Poskanzer writes: : In the referenced message, bill@twwells.com (T. William Wells) wrote: : }Care to name some specific systems where the linker could take : }apart an object file, and for which a reasonable C compiler : }exists? : : Why the second requirement, Bill? Specifically because those few linkers I know of that permit disassembling an object file and using just the pieces work with object files that are, essentially, archives. That is to say, if you compiled several functions into the one object file, each function occupied a physically distinct part of the file; taking the object file apart was little more complex than just copying some particular part of the file. None of these machines ran C. They would have had real problems with C, since it would have been hard to implement file scope with those linkers. (I know, I had to try to do something similar with one of them.) The second requirement is there, not as an absolute requirement, but as a "reasonableness" requirement. None of those linkers would have been useful in a modern environment. Certainly a linker that a C compiler exists for is minimally "reasonable". I'd be willing to entertain other linkers, so long as they aren't overly restrictive. : So, why the second requirement, Bill? Have you ever actually checked : whether any of the non-Unix systems you've used have this ability? Are : you afraid of what you might find? An ad hominem deserves an ad hominem in response: fuck you, Mr. Poskanzer. I do not appreciate personal attacks. And, to answer your question: yes, of course I looked. We now have one linker (a VMS linker, mentioned in a deleted part of the article). But I'd like to see some more. After all, the point under discussion is: : }Most linkers will not take, from a single object file, just those : }routines needed by the rest of the program. Which is to say that there *are* some linkers that will. I happen not to have used any recently, and the ones that I did were really brain damaged, but I can see how one would do such a linker. (BTW, it happens that I've never used VMS.) *One* linker certainly does not negate "most". So, without at least a few more examples, there isn't any reason to doubt the "most". And, unless someone comes up with a few more, there is no point in discussing this further. --- Bill { uunet | novavax | ankh | sunvice } !twwells!bill bill@twwells.com