Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!bbn!apple!amdahl!shs From: shs@uts.amdahl.com (Steve Schoettler) Newsgroups: comp.sys.amiga.tech Subject: Re: Anyone has the source of a good linker? Message-ID: <01k165dDlp10106aJkM@amdahl.uts.amdahl.com> Date: 17 Feb 89 21:21:45 GMT References: <8902171605.AA16549@jade.berkeley.edu> Reply-To: shs@amdahl.uts.amdahl.com (Steve Schoettler) Organization: Amdahl Corporation, Sunnyvale CA Lines: 42 In article <8902171605.AA16549@jade.berkeley.edu> U211344@HNYKUN11.BITNET (Olaf 'Rhialto' Seibert) writes: > ... we seem to be missing a linker with source. Well, the gnu linker is available in binutils.tar.Z on prep.ai.mit.edu. Naturally, the output is in a.out (b.out) unix executable format. I can think of three ways to get the gnu ld to be useful on the amiga (listed from most to least plausible): 1. For a first try, you might use the linker option that leaves the resulting file in relocatable format, just before it causes it to map to location 0. I suspect it wouldn't be too hard to add some hunk headers to this format. 2. Use the a.out format, and rewrite loadseg() to act like the unix loader. It would look in the first few bytes for a magic number. If no magic number is found, it could call the old loadseg(). This would have the neat advantage of being able to call AREXX if the file was in a particular directory or had a special sequence of characters at the top. 3. If you knew there were going to be an MMU in the machine, just use the regular unix a.out format and write a loader that tells the MMU to install this at some virtual address 0. I don't really know if the MMU can do this, and the program might have a problem communicating with other tasks running in real address space. I don't really give much credibility to (3), but I've thought a lot about combinations of (1) and (2). Using a.out format would also allow you to use a lot of other unix archiving programs, debuggers, etc. With your own loader in place, you could write a version of resident that could make both compiled programs and AREXX programs resident! And of course, you could use gcc/gas/ld, which is why I suspect Olaf wanted a linker in the first place. Something to think about anyway. Steve -- Steve Schoettler shs@uts.amdahl.com {sun,decwrl,pyramid,ames,uunet}!amdahl!shs Amdahl Corp., M/S 213, 1250 E. Arques Ave, Sunnyvale, CA 94088