Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!rutgers!ames!oliveb!sun!gorodish!guy From: guy%gorodish@Sun.COM (Guy Harris) Newsgroups: comp.unix.wizards Subject: Re: multiple-machine executables for Suns? Message-ID: <24830@sun.uucp> Date: Tue, 4-Aug-87 14:20:04 EDT Article-I.D.: sun.24830 Posted: Tue Aug 4 14:20:04 1987 Date-Received: Thu, 6-Aug-87 04:49:14 EDT References: <1853@megaron.arizona.edu> Sender: news@sun.uucp Lines: 76 > Sun-2 binaries will work on a Sun-3, but not vice-versa and I expect that > Sun-4 binaries work iff they're on a Sun-4. Since the SPARC instruction set does not at all resemble the 68K instruction set, this is certainly true. > I asked someone at Sun about this and they said that although Sun had talked > about it there were no plans for doing it at the current time. As the only > specific reason for not doing this, he cited the extra disk space required > for such a format. Which, in our case, is an excellent reason. SunOS releases are, for better or worse, quite big; were the standard binaries to contain several types of image, you might have to cut back quite a bit on optional software to fit it on a 71MB shoebox (or might not be able to fit it at all). Also note that, if the standard development environment were to build 3-way executables, this environment would have to contain both 68K and SPARC compilers, as well as 68K and SPARC libraries (or even 68010, 68020, and SPARC libraries). In addition, were you to have a server serving several different Sun *and* non-Sun architectures (as will be possible once ND is eliminated), you'd either have to teach all the non-Sun machines about this executable format and stuff the additional images into the common image, or use the idea only for Suns. > Here, disk space is much cheaper than programmer time and I'd gladly have > binaries that are twice as big if I didn't have to worry about two > different executables. I'm not sure what the problem is. If you have several different kinds of executables, you have to compile the program N times, once for each kind of machine. If you have multiple-machine executables, you have to compile the program N times, once for each kind of machine. Both of these will take up some amount of programmer time. There is some additional maintenance time for installing the various different forms of executable image. I don't see why this is a major component of the total development time, though. > In some ways the current incompatibilities help Sun -- they provides some > motivation to roll out Sun-2s and roll in Sun-3s, That was NOT the intent. If you can build Sun-2 binaries, you can run them on Sun-3s; we now offer cross-compilers, so you can build Sun-2 and Sun-3 binaries on Sun-3s. (There is a charge for these; please do not attempt to engage me in a debate about whether this is the right thing to do or not, because 1) I don't have sufficient information about *all* sides of the question to have an authoritative opinion and 2) I don't make policy on that anyway, so if you don't like it you're better off complaining to your salesperson. My *personal* opinion is that we shouldn't charge for it, but there may be a good reason for doing so that I don't know about.) > but on the other hand, it lessens (to near-zero for me) the motivation to > roll in a Sun-4. I still don't see what the executable image format has to do with this; there will be customers to whom binary compatibility with Sun-2s and Sun-3s is more important than the added performance of a Sun-4, so they will buy Sun-3s instead of Sun-4s. The Sun-4 is aimed at customers to whom the expense of recompiling their software (and, if necessary, changing their code to "play by the rules" of portable C) is more than offset by the benefits of the added performance of the Sun-4. DISCLAIMER for the less-bright members of the audience: none of this represents the official opinion of Sun Microsystems, it merely represents my understanding of some of the issues involved (but then one hopes most of the audience understood that anyway). Guy Harris {ihnp4, decvax, seismo, decwrl, ...}!sun!guy guy@sun.com