
On Sun, 25 Jul 2004 11:29:04 +0900, Mattias Flodin <flodin@gmail.com> wrote:
It gets worse. IA-64 supports switching endianness at runtime. :-) See e.g. http://developer.intel.com/design/itanium/manuals/245317.pdf section 4.4: "Accesses to memory quantities larger than a byte may be done in a big-endian or little-endian fashion. The byte order for all memory access instructions is determined by UM in the User Mask register."
The user mask can be changed at user-level program's discretion and thus isn't a function of the OS platform used either. I suppose the least incorrect thing to do here would be to define it depending on the default for the particular OS/compiler used.
FWIW, ARM (+Xscale), Alpha, modern MIPS (Hitachi SH too), Sparc, PowerPC, i960 all have some dual endian ability. Probably others too. Not sure about the run-time configurability like ia64. Regards, Matt Hurd.