Subject: Re: Questions about features of NetBSD
To: None <current-users@NetBSD.ORG>
From: Marc Boschma <>
List: current-users
Date: 04/11/1995 14:40:06
>> > > 1. fat binaries


>I feel that the fat binary concept doesn't scale well beyond two
>architectures, and NetBSD currently has 7 (i386, m68k4k, m68k8k,
>sparc, mips, ns32k, alpha) with more on the way.  And to support this
>well, you would need cross toolchains for each target (not a bad idea
>in general, but I wouldn't want to ship them by default).

>Plus, at the present time gcc does handle 64 x 32 (ie alpha x
>anything) configurations very well.  However, this should be better
>with gcc 2.7.X.

>	--jtc

How about an architectural independent format for multi-platform
distrubution. It won't give you the speed of native binaries, but at
least it will give portablity.

Two candiates that come to mind are: RTL (this is abit of a problem,
if two versons of NetBSD differ significantly, although it could be
argued that if an application is platform specific then it should be
native anyway), and the Java virtual machine.

The Java virtual machine (start at - I think),
of which I am currently reading, seems to be a better platform, although
I wonder if it is workable. Gcc currently creates RTL, so it would be
fairly easy (?) to split the compiler into two. Later the "back end"
could compile the application into a binary, much like SH or better
yet Perl currently translate their source. (ie. set up a RTL file with
magic number, which when executed runs the translator and linker
(maybe producing a file in /tm[) and then exec's that file).

Another idea that was muted many moons ago was to get the exec call to
recognise the AR format files. It would look in the archive for a file
that was named like the CPU. Ie. "ix86", "m68k-nfpu", etc. and then
load that file. This fits the classical idea of a fat file.

Marc B.
Marc Boschma                          Email:
Senior Technical Specialist           Smail:    Locked Bag No. 4840
Broadband and Multimedia Systems,               Melbourne, VIC  8100
Network Systems, ITG.                 Phone:    +61 3 634 8798
Telstra (Telecom Australia)           Fax:      +61 3 634 5469