1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-29 22:40:34 +02:00

Build and pass all tests on big endian Irix mips using the n32 abi.

* check/lightning.c, configure.ac, include/lightning.h,
	lib/lightning.c: Add tests and quirks to build/detect
	and/or work on Irix.

	* include/lightning/jit_mips.h, lib/jit_mips-cpu.c,
	lib/jit_mips-fpu.c, lib/jit_mips.c: Adapt code to run
	in big endian mips, using the n32 abi.
This commit is contained in:
pcpa 2013-06-22 19:44:00 -03:00
parent dbe0fb9bfa
commit d6110f6cf3
9 changed files with 480 additions and 269 deletions

View file

@ -40,6 +40,12 @@
# define __WORDSIZE 32
# elif defined(_LP64) /* ia64 hp-ux (with cc +DD64) */
# define __WORDSIZE 64
# elif defined(_MIPS_SZPTR) /* mips irix */
# if _MIPS_SZPTR == 32
# define __WORDSIZE 32
# else
# define __WORDSIZE 64
# endif
# else
# error cannot figure __WORDSIZE
# endif
@ -69,10 +75,12 @@
# define __BYTE_ORDER __BYTE_ORDER__
# elif defined(_BIG_ENDIAN) /* hppa hp-ux */
# define __BYTE_ORDER __BIG_ENDIAN
# elif defined(__BIG_ENDIAN__ ) /* ia64 hp-ux */
# elif defined(__BIG_ENDIAN__) /* ia64 hp-ux */
# define __BYTE_ORDER __BIG_ENDIAN
# elif defined(__i386__) /* x86 solaris */
# define __BYTE_ORDER __LITTLE_ENDIAN
# elif defined(__MIPSEB) /* mips irix */
# define __BYTE_ORDER __BIG_ENDIAN
# elif defined(__i386__)
# define __BYTE_ORDER __LITTLE_ENDIAN /* x86 solaris */
# else
# error cannot figure __BYTE_ORDER
# endif