Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!sgi!jmb@patton.SGI.COM From: jmb@patton.SGI.COM (Jim Barton) Newsgroups: comp.sys.sgi Subject: Re: Binary Compatability? Message-ID: <27653@sgi.SGI.COM> Date: 28 Feb 89 16:11:46 GMT References: <8902260158.aa09669@SPARK.BRL.MIL> Sender: daemon@sgi.SGI.COM Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 39 In article <8902260158.aa09669@SPARK.BRL.MIL>, mike@BRL.MIL (Mike Muuss) writes: > I had heard a rumor that IRIX 3.1 was supposed to produce binary executable > programs that would run unchanged on all the different kinds of 4D machines > (assuming that the program was adroit enough to avoid hardware-specific > routines on machines that could not do them). > > Is this true in all cases? Is this true only when using the "shared" versions > of the libraries? Or is my understanding in error? > > In my particular case, I compiled a program on a GTX, and tried to run > the binary that worked fine on the GTX on a Personal Iris (via NFS). > I got the message: > > Unable to map GM DRAM: No such device > > Clearly, the Personal Iris does not have a GM, so something odd is happening. > Anyone care to share some clues? > Best, > -Mike Binary compatibility for graphics is only supported using the shared library interface. This can be done by linking with libgl_s, as in -lgl_s. The font manager is machine specific as well, and can be linked as -lfm_s. The actual graphics harware implementations are radically different between Personal IRIS, GT and GTX. This has to be reflected to the user program because it needs direct access to the hardware for speed. Thus, using shared libraries gets you both the speed and the compatibility. For everything else, the machines really are binary compatible. In fact, UMIPS binaries will run on SGI hardware if they stay away from special functions. -- Jim Barton Silicon Graphics Computer Systems "UNIX: Live Free Or Die!" jmb@sgi.sgi.com, sgi!jmb@decwrl.dec.com, ...{decwrl,sun}!sgi!jmb "I used to be disgusted, now I'm just amused." - Elvis Costello, 'Red Shoes' --