Date: Mon, 15 Dec 2003 20:48:03 -0800
From: Tim Prince <[log in to unmask]>
At 04:23 PM 12/15/2003, Toon Moene wrote:
...
>That would be the way I would proceed (but for the fact that as a
>compiler writer and tester, I much prefer 64-bit *big-endian*
>architectures - but that's a whole different story ...)
So, how did g77 for ia64 come out little-endian, with ILP64, when there
exist I32LP64 big-endian compilers for that architecture? I think those
who made the decision were led to believe there was a greater market for
ILP64 than for I32LP64 on linux.
Endian is generally a decision made by a vendor and/or platform.
Digital chose big-endian for the PDP-6,10,20 series, and little-endian
for the PDP-11 and VAX series. For Ultrix on the MIPS processor it
chose little-endian. When it went to Alpha, it still chose
little-endian. Tandem for their non-stop stuff chose big-endian for
Alpha. I think Cray for the Alpha-based machines chose big-endian.
The Intel 8080 (and perhaps before) up through pentium have been
little-endian. The motorola 68K series is big-endian. I believe Sun
has always been big-endian. HP-UX is big endian, including on IA64.
Linux on IA32 and on Alpha has always been little-endian. At some
point, somebody decided IA64/Linux should be little-endian. I don't
know who made that decision or why. So g77 *on* ia64/linux is
little-endian, not because it can't do big-endian, but because
ia64/linux is little endian. If g77 exists for IA64/HP-UX (it may or
may not, I actually don't know despite HP signing my paycheck) would
have to emit big-endian.
(I much prefer little-endian, but that's a whole different story.)
|