Path: utzoo!mnetor!uunet!lll-winken!lll-tis!mordor!sri-spam!sri-unix!quintus!ok From: ok@quintus.UUCP (Richard A. O'Keefe) Newsgroups: comp.software-eng Subject: Re: Question Re: Configuration Management Message-ID: <735@cresswell.quintus.UUCP> Date: 5 Mar 88 01:41:22 GMT References: <497@aimt.UUCP> <2640@ihlpe.ATT.COM> <188@dinl.mmc.UUCP> <2745@mmintl.UUCP> Organization: Quintus Computer Systems, Mountain View, CA Lines: 24 Keywords: linkers, software design, ADA In article <2745@mmintl.UUCP>, franka@mmintl.UUCP (Frank Adams) writes: a In article <697@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: a o We could profitably turn this into a survey of what the linker a o requirements of various languages are: could an ADA compiler easily a o use the UNIX / VMS / MVS / PR1MOS linker? a In a word, no. A linker for Ada must check for matching of user-defined a types in different modules. In two words, not quite. There are two things: planning a link (which involves working out where to find things and checking that the operation requested makes sense) and *doing* the link. Is there any reason why an ADA compiler could not generate two files: a description file and an object file, and an ADA linker could not use the information in the description files to validate and plan the link, and then use the UNIX / VMS / MVS / PR1MOS linker to *do* the link? If an ADA program is to include foreign code (ADA-FORTRAN is a particularly interesting case) mustn't something like this be done? Simula has similar link validation requirements, but Simula compilers normally use the system-supplied linker. I'm not claiming that this is the best way to do it. I'm just trying to draw a distinction between finishing off a compilation and linking. Maybe there isn't any such distinction if you look hard enough. The Burroughs BINDER certainly managed to check interfaces as it bound together COBOL, ALGOL, and FORTRAN. Is the fact that the UNIX linker doesn't check interfaces its greatest weakness?