1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-19 02:00:26 +02:00

Adjust lightning to work on ppc AIX.

Many thanks to Trent Nelson from snakebite.org for giving access to a
build farm with several different architectures and operating systems.

	* check/lightning.c, lib/jit_disasm.c, lib/jit_ppc-cpu.c,
	lib/jit_ppc-fpu.c, lib/jit_ppc.c, include/lightning.h,
	include/lightning/jit_ppc.h, include/lightning/jit_private.h:
	Adapt code to work on 32 bit AIX ppc using gcc. Most changes
	are basically to adapt the elf64 logic to 32 bit, as it does
	not use the same convention of 32 bit Darwin ppc.

	* check/stack.tst: Add a fake memcpy function to the test
	case if running under AIX, as it is not available to dlsym.

	* configure.ac: Check for getopt.h header, not available in
	AIX.
This commit is contained in:
pcpa 2013-06-07 21:27:52 -03:00
parent ce6ab1f09e
commit 3e5a12f747
11 changed files with 189 additions and 78 deletions

View file

@ -28,16 +28,32 @@
#include <string.h>
#ifndef __WORDSIZE
# define __WORDSIZE WORDSIZE
# if defined(_AIX)
# define __WORDSIZE (__SIZEOF_POINTER__ << 3)
# else
# define __WORDSIZE WORDSIZE
# endif
#endif
#ifndef __BYTE_ORDER
# define __BYTE_ORDER BYTE_ORDER
# if defined(_AIX)
# define __BYTE_ORDER __BYTE_ORDER__
# else
# define __BYTE_ORDER BYTE_ORDER
# endif
#endif
#ifndef __LITTLE_ENDIAN
# define __LITTLE_ENDIAN LITTLE_ENDIAN
# if defined(_AIX)
# define __LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
# else
# define __LITTLE_ENDIAN LITTLE_ENDIAN
# endif
#endif
#ifndef __BIG_ENDIAN
# define __BIG_ENDIAN BIG_ENDIAN
# if defined(_AIX)
# define __BIG_ENDIAN __ORDER_BIG_ENDIAN__
# else
# define __BIG_ENDIAN BIG_ENDIAN
# endif
#endif
typedef signed char jit_int8_t;