Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!lll-lcc!pyramid!cti!eric From: eric@cti.UUCP (Eric Black) Newsgroups: comp.sys.amiga Subject: Re: The resident command Message-ID: <375@cti.cti.UUCP> Date: Sun, 30-Nov-86 15:00:50 EST Article-I.D.: cti.375 Posted: Sun Nov 30 15:00:50 1986 Date-Received: Thu, 4-Dec-86 00:17:09 EST References: <229@sas.UUCP> <172200005@uiucuxc> Reply-To: eric@cti.UUCP (Eric Black) Organization: Cornerstone Technology, Inc. Lines: 28 In article <172200005@uiucuxc> hamilton@uiucuxc.CSO.UIUC.EDU writes: > >burnette@sas says: >> The only problem I see is that Lattice and Manx assume different base >> registers for the data. We either have to detect somehow which register >> to use or get the two companies to agree on a standard register (perhaps >> some register in between the two they use now :-). > > it doesn't matter which register is used as the base register, since >each compiler's startup code will take care of loading it. Well, yes, but since the rest of their calling conventions are so close, this might be all you need to be able to link together objects created by both compilers (modulo the object file format differences, which Manx can deal with). Only one startup routine gets run, and only at startup, not between function calls. Why would I want to do that? Example: Matt Dillon's "mylib"; I'd like to use it with Manx compiling in 32-bit mode. There are undoubtedly other gotchas in there that will preclude doing this generally, but library utilities that are distributed in object form only could then be usable by people with either compiler, if they are carefully written. I think. -- Eric Black "Garbage In, Gospel Out" UUCP: {sun,pyramid,hplabs,amdcad}!cti!eric