Commit e860ed6d by Kaz Kojima Committed by Kaz Kojima

Makefile.am: Add SHmedia support.

	* Makefile.am: Add SHmedia support.  Fix a typo of SH support.
	* Makefile.in: Regenerate.
	* configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
	* configure: Regenerate.
	* include/ffi.h.in: Add SHmedia support.
	* src/sh64/ffi.c: New file.
	* src/sh64/sysv.S: New file.

From-SVN: r67869
parent 55c8af0b
2003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* Makefile.am: Add SHmedia support. Fix a typo of SH support.
* Makefile.in: Regenerate.
* configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
* configure: Regenerate.
* include/ffi.h.in: Add SHmedia support.
* src/sh64/ffi.c: New file.
* src/sh64/sysv.S: New file.
2003-05-16 Jakub Jelinek <jakub@redhat.com>
* configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
......
......@@ -19,7 +19,8 @@ EXTRA_DIST = LICENSE ChangeLog.v1 src/mips/ffi.c src/mips/n32.S \
src/powerpc/darwin_closure.S src/powerpc/aix_closure.S \
src/arm/ffi.c src/arm/sysv.S \
src/s390/ffi.c src/s390/sysv.S \
src/sh/ffi.c src/sh/sysv.S
src/sh/ffi.c src/sh/sysv.S \
src/sh64/ffi.c src/sh64/sysv.S
VPATH = @srcdir@:@srcdir@/src:@srcdir@/src/@TARGETDIR@
......@@ -102,6 +103,7 @@ TARGET_SRC_ARM = src/arm/sysv.S src/arm/ffi.c
TARGET_SRC_S390 = src/s390/sysv.S src/s390/ffi.c
TARGET_SRC_X86_64 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
TARGET_SRC_SH = src/sh/sysv.S src/sh/ffi.c
TARGET_SRC_SH64 = src/sh64/sysv.S src/sh64/ffi.c
##libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c $(TARGET_SRC_@TARGET@)
## Work around automake deficiency
......@@ -169,7 +171,11 @@ libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
endif
if SH
libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
endif
if SH64
libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH64)
libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH64)
endif
AM_CFLAGS = -fexceptions
......
......@@ -102,7 +102,8 @@ EXTRA_DIST = LICENSE ChangeLog.v1 src/mips/ffi.c src/mips/n32.S \
src/powerpc/darwin_closure.S src/powerpc/aix_closure.S \
src/arm/ffi.c src/arm/sysv.S \
src/s390/ffi.c src/s390/sysv.S \
src/sh/ffi.c src/sh/sysv.S
src/sh/ffi.c src/sh/sysv.S \
src/sh64/ffi.c src/sh64/sysv.S
VPATH = @srcdir@:@srcdir@/src:@srcdir@/src/@TARGETDIR@
......@@ -181,6 +182,7 @@ TARGET_SRC_ARM = src/arm/sysv.S src/arm/ffi.c
TARGET_SRC_S390 = src/s390/sysv.S src/s390/ffi.c
TARGET_SRC_X86_64 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
TARGET_SRC_SH = src/sh/sysv.S src/sh/ffi.c
TARGET_SRC_SH64 = src/sh64/sysv.S src/sh64/ffi.c
libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c \
src/raw_api.c src/java_raw_api.c
......@@ -201,6 +203,7 @@ libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c \
@S390_TRUE@libffi_la_SOURCES = @S390_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
@X86_64_TRUE@libffi_la_SOURCES = @X86_64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
@SH_TRUE@libffi_la_SOURCES = @SH_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
@SH64_TRUE@libffi_la_SOURCES = @SH64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH64)
@MIPS_GCC_TRUE@libffi_convenience_la_SOURCES = @MIPS_GCC_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
@MIPS_LINUX_TRUE@libffi_convenience_la_SOURCES = @MIPS_LINUX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX)
@MIPS_SGI_TRUE@libffi_convenience_la_SOURCES = @MIPS_SGI_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
......@@ -216,7 +219,8 @@ libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c \
@ARM_TRUE@libffi_convenience_la_SOURCES = @ARM_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
@S390_TRUE@libffi_convenience_la_SOURCES = @S390_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
@X86_64_TRUE@libffi_convenience_la_SOURCES = @X86_64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
@SH_TRUE@libfficonvenience_la_SOURCES = @SH_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
@SH_TRUE@libffi_convenience_la_SOURCES = @SH_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
@SH64_TRUE@libffi_convenience_la_SOURCES = @SH64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH64)
AM_CFLAGS = -fexceptions
......@@ -270,6 +274,12 @@ libffi_convenience_la_LIBADD =
@X86_64_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
@X86_64_TRUE@src/java_raw_api.lo src/x86/ffi64.lo src/x86/unix64.lo \
@X86_64_TRUE@src/x86/ffi.lo src/x86/sysv.lo
@SH_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@SH_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo src/sh/sysv.lo \
@SH_TRUE@src/sh/ffi.lo
@SH64_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@SH64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
@SH64_TRUE@src/sh64/sysv.lo src/sh64/ffi.lo
@SPARC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
@SPARC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
@SPARC_TRUE@src/java_raw_api.lo src/sparc/ffi.lo src/sparc/v8.lo \
......@@ -294,6 +304,9 @@ libffi_la_LIBADD =
@SH_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
@SH_TRUE@src/raw_api.lo src/java_raw_api.lo src/sh/sysv.lo \
@SH_TRUE@src/sh/ffi.lo
@SH64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
@SH64_TRUE@src/raw_api.lo src/java_raw_api.lo src/sh64/sysv.lo \
@SH64_TRUE@src/sh64/ffi.lo
@IA64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
@IA64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
@IA64_TRUE@src/ia64/ffi.lo src/ia64/unix.lo
......
......@@ -2480,6 +2480,7 @@ s390-*-linux-*) TARGET=S390; TARGETDIR=s390;;
s390x-*-linux-*) TARGET=S390; TARGETDIR=s390;;
x86_64-*-linux*) TARGET=X86_64; TARGETDIR=x86;;
sh-*-linux* | sh[34]*-*-linux*) TARGET=SH; TARGETDIR=sh;;
sh64-*-linux* | sh5*-*-linux*) TARGET=SH64; TARGETDIR=sh64;;
esac
if test $TARGETDIR = unknown; then
......@@ -2631,6 +2632,14 @@ else
SH_FALSE=
fi
if test x$TARGET = xSH64; then
SH64_TRUE=
SH64_FALSE='#'
else
SH64_TRUE='#'
SH64_FALSE=
fi
if test x$TARGET = xMIPS_LINUX; then
TARGET=MIPS
fi
......@@ -3938,6 +3947,8 @@ s%@X86_64_TRUE@%$X86_64_TRUE%g
s%@X86_64_FALSE@%$X86_64_FALSE%g
s%@SH_TRUE@%$SH_TRUE%g
s%@SH_FALSE@%$SH_FALSE%g
s%@SH64_TRUE@%$SH64_TRUE%g
s%@SH64_FALSE@%$SH64_FALSE%g
s%@CPP@%$CPP%g
s%@ALLOCA@%$ALLOCA%g
s%@TARGET@%$TARGET%g
......
......@@ -75,6 +75,7 @@ s390-*-linux-*) TARGET=S390; TARGETDIR=s390;;
s390x-*-linux-*) TARGET=S390; TARGETDIR=s390;;
x86_64-*-linux*) TARGET=X86_64; TARGETDIR=x86;;
sh-*-linux* | sh[[34]]*-*-linux*) TARGET=SH; TARGETDIR=sh;;
sh64-*-linux* | sh5*-*-linux*) TARGET=SH64; TARGETDIR=sh64;;
esac
if test $TARGETDIR = unknown; then
......@@ -97,6 +98,7 @@ AM_CONDITIONAL(ARM, test x$TARGET = xARM)
AM_CONDITIONAL(S390, test x$TARGET = xS390)
AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
AM_CONDITIONAL(SH, test x$TARGET = xSH)
AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
if test x$TARGET = xMIPS_LINUX; then
TARGET=MIPS
......
......@@ -302,6 +302,12 @@ typedef enum ffi_abi {
FFI_DEFAULT_ABI = FFI_SYSV,
#endif
/* ---- SuperH - SHmedia --------- */
#ifdef SH64
FFI_SYSV,
FFI_DEFAULT_ABI = FFI_SYSV,
#endif
/* Leave this for debugging purposes */
FFI_LAST_ABI
......@@ -356,6 +362,10 @@ typedef struct {
#endif
#endif
#ifdef SH64
long long flags2;
#endif
} ffi_cif;
#if SIZEOF_ARG == 4
......@@ -501,6 +511,12 @@ struct ffi_ia64_trampoline_struct {
#define FFI_TRAMPOLINE_SIZE 16
#define FFI_NATIVE_RAW_API 0
#elif defined(SH64)
#define FFI_CLOSURES 1
#define FFI_TRAMPOLINE_SIZE 32
#define FFI_NATIVE_RAW_API 0
#elif defined(__x86_64__)
#define FFI_CLOSURES 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment