Joy of Joys (porting C-shell)
Boyd Roberts
boyd at basser.oz
Fri Jul 8 11:27:00 AEST 1988
Those coders who believe all the world is a VAX are just
wrong-wrong-wrong. There's a machine in the UK called an
Orion made by some people called High Level Hardware. It
has TWO (count them) stacks and is word (32 bit) addressed.
Miss-aligned byte references don't fault and the byte offset
is in the HIGH order address bits. So you get a byte address
space that looks something like this:
0x00000000
0x10000000
0x20000000
0x30000000
0x00000001
0x10000001
0x20000001
0x30000001
etc...
But then the two stacks come in. A high order bit (in fact two)
select which stack you're referencing. Either, the ``scalar''
or the ``vector'' stack. The address space is NOT contiguous.
Stick to K&R and you're fine.
Somehow High Level Hardware ported 4.2BSD to their box. They
must have been crazy!! I used it & it worked. Hats off to
HLH, but their hardware people should've been shot. Worse
still I think I heard rumours about them releasing NFS on it.
Now if XDR ain't VAX dependant, I don't know what is. SysV NFS 2.0
XDR has some real cuties for non VAX byte order machines. Puke!
One Sunday afternoon & a lot of printf's later I found it. Assuming
how unions/structures are packed & passed to function calls as their
constituent elements is NO way to write a ``portable'' piece of code.
Boyd Roberts boyd at basser.cs.su.oz
boyd at necisa.necisa.oz
``When the going gets wierd, the weird turn pro...''
More information about the Comp.unix.wizards
mailing list