Wierd code (device independent loaders)

Jan Steinman jans at mako.UUCP
Mon Nov 4 04:13:21 AEST 1985


In article <6103 at utzoo.UUCP> henry at utzoo.UUCP (Henry Spencer) writes:
>> An #ifdef VAX would be superfluous here.  The loader is one of the more
>> machine dependant parts of any system.  Not only does it depend on the
>> format of your relocatable files, but it depends on both the hardware
>> instruction set and the memorym management system being employed...
>
>Actually, by using a reasonably powerful and flexible object-module format,
>like the IEEE P695 proposal, it is quite possible to build a machine-
>independent loader...

I don't know that we use anything similar to P695, but the UTek (cleaned-up
4.2) loader accepts either VAX or NS32000 load modules without complaint.  We
also have a nice, WORKING distributed file system.  The combination presents
some interesting problems.

Due to storage space problems, I usually have my source code on a VAX, and
``cd'' to it over the DFS to ``make'' on my NS32000 workstation.  If, by
chance, some of the modules were compiled on the VAX, (sometimes it's hard to
remember what machine you're on) the NS32000 ``ld'' merrily and without
question links them together with NS32000 code.

If there is enough NS32000 code to do something useful (at least main()) the
resultant ``illegal instruction -- core dumped'' message can be quite puzzling
when the poor NS32000 sees it's first VAX instruction!

-- 
:::::: Artificial   Intelligence   Machines   ---   Smalltalk   Project ::::::
:::::: Jan Steinman		Box 1000, MS 61-405	(w)503/685-2956 ::::::
:::::: tektronix!tekecs!jans	Wilsonville, OR 97070	(h)503/657-7703 ::::::



More information about the Comp.unix.wizards mailing list