89d9d98ae5
PR libffi/28313 * configure.ac: Don't treat mips64 as a special case. * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S. * configure: Regenerate * Makefile.in: Ditto. * fficonfig.h.in: Ditto. * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent. (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros. (FFI_DEFAULT_ABI): Set for n64 case. (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases. * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE. (ffi_closure_N32): New function. (.eh_frame): New section * src/mips/o32.S: Clean up comments. (ffi_closure_O32): Pass ffi_closure parameter in $12. * src/mips/ffi.c: Use FFI_MIPS_N32 instead of _MIPS_SIM == _ABIN32 throughout. (FFI_MIPS_STOP_HERE): New, use in place of ffi_stop_here. (ffi_prep_args): Use unsigned long to hold pointer values. Rewrite to support n32/n64 ABIs. (calc_n32_struct_flags): Rewrite. (calc_n32_return_struct_flags): Remove unused variable. Reverse position of flag bits. (ffi_prep_cif_machdep): Rewrite n32 portion. (ffi_call): Enable for n64. Add special handling for small structure return values. (ffi_prep_closure_loc): Add n32 and n64 support. (ffi_closure_mips_inner_O32): Add cast to silence warning. (copy_struct_N32, ffi_closure_mips_inner_N32): New functions. From-SVN: r127336
165 lines
4.4 KiB
C
165 lines
4.4 KiB
C
/* fficonfig.h.in. Generated from configure.ac by autoheader. */
|
|
|
|
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
|
systems. This function is required for `alloca.c' support on those systems.
|
|
*/
|
|
#undef CRAY_STACKSEG_END
|
|
|
|
/* Define to 1 if using `alloca.c'. */
|
|
#undef C_ALLOCA
|
|
|
|
/* Define to the flags needed for the .section .eh_frame directive. */
|
|
#undef EH_FRAME_FLAGS
|
|
|
|
/* Define this if you want extra debugging. */
|
|
#undef FFI_DEBUG
|
|
|
|
/* Define this is you do not want support for the raw API. */
|
|
#undef FFI_NO_RAW_API
|
|
|
|
/* Define this is you do not want support for aggregate types. */
|
|
#undef FFI_NO_STRUCTS
|
|
|
|
/* Define to 1 if you have `alloca', as a function or macro. */
|
|
#undef HAVE_ALLOCA
|
|
|
|
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
|
*/
|
|
#undef HAVE_ALLOCA_H
|
|
|
|
/* Define if your assembler supports .cfi_* directives. */
|
|
#undef HAVE_AS_CFI_PSEUDO_OP
|
|
|
|
/* Define if your assembler supports .register. */
|
|
#undef HAVE_AS_REGISTER_PSEUDO_OP
|
|
|
|
/* Define if your assembler and linker support unaligned PC relative relocs.
|
|
*/
|
|
#undef HAVE_AS_SPARC_UA_PCREL
|
|
|
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
|
#undef HAVE_DLFCN_H
|
|
|
|
/* Define if __attribute__((visibility("hidden"))) is supported. */
|
|
#undef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
|
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
#undef HAVE_INTTYPES_H
|
|
|
|
/* Define if you have the long double type and it is bigger than a double */
|
|
#undef HAVE_LONG_DOUBLE
|
|
|
|
/* Define to 1 if you have the `memcpy' function. */
|
|
#undef HAVE_MEMCPY
|
|
|
|
/* Define to 1 if you have the <memory.h> header file. */
|
|
#undef HAVE_MEMORY_H
|
|
|
|
/* Define to 1 if you have the `mmap' function. */
|
|
#undef HAVE_MMAP
|
|
|
|
/* Define if mmap with MAP_ANON(YMOUS) works. */
|
|
#undef HAVE_MMAP_ANON
|
|
|
|
/* Define if mmap of /dev/zero works. */
|
|
#undef HAVE_MMAP_DEV_ZERO
|
|
|
|
/* Define if read-only mmap of a plain file works. */
|
|
#undef HAVE_MMAP_FILE
|
|
|
|
/* Define if .eh_frame sections should be read-only. */
|
|
#undef HAVE_RO_EH_FRAME
|
|
|
|
/* Define to 1 if you have the <stdint.h> header file. */
|
|
#undef HAVE_STDINT_H
|
|
|
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
#undef HAVE_STDLIB_H
|
|
|
|
/* Define to 1 if you have the <strings.h> header file. */
|
|
#undef HAVE_STRINGS_H
|
|
|
|
/* Define to 1 if you have the <string.h> header file. */
|
|
#undef HAVE_STRING_H
|
|
|
|
/* Define to 1 if you have the <sys/mman.h> header file. */
|
|
#undef HAVE_SYS_MMAN_H
|
|
|
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
#undef HAVE_SYS_STAT_H
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
#undef HAVE_SYS_TYPES_H
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#undef HAVE_UNISTD_H
|
|
|
|
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
|
*/
|
|
#undef LT_OBJDIR
|
|
|
|
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
|
|
#undef NO_MINUS_C_MINUS_O
|
|
|
|
/* Name of package */
|
|
#undef PACKAGE
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */
|
|
#undef PACKAGE_BUGREPORT
|
|
|
|
/* Define to the full name of this package. */
|
|
#undef PACKAGE_NAME
|
|
|
|
/* Define to the full name and version of this package. */
|
|
#undef PACKAGE_STRING
|
|
|
|
/* Define to the one symbol short name of this package. */
|
|
#undef PACKAGE_TARNAME
|
|
|
|
/* Define to the version of this package. */
|
|
#undef PACKAGE_VERSION
|
|
|
|
/* The size of a `double', as computed by sizeof. */
|
|
#undef SIZEOF_DOUBLE
|
|
|
|
/* The size of a `long double', as computed by sizeof. */
|
|
#undef SIZEOF_LONG_DOUBLE
|
|
|
|
/* If using the C implementation of alloca, define if you know the
|
|
direction of stack growth for your system; otherwise it will be
|
|
automatically deduced at run-time.
|
|
STACK_DIRECTION > 0 => grows toward higher addresses
|
|
STACK_DIRECTION < 0 => grows toward lower addresses
|
|
STACK_DIRECTION = 0 => direction of growth unknown */
|
|
#undef STACK_DIRECTION
|
|
|
|
/* Define to 1 if you have the ANSI C header files. */
|
|
#undef STDC_HEADERS
|
|
|
|
/* Define this if you are using Purify and want to suppress spurious messages.
|
|
*/
|
|
#undef USING_PURIFY
|
|
|
|
/* Version number of package */
|
|
#undef VERSION
|
|
|
|
/* Define to 1 if your processor stores words with the most significant byte
|
|
first (like Motorola and SPARC, unlike Intel and VAX). */
|
|
#undef WORDS_BIGENDIAN
|
|
|
|
|
|
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
|
|
#ifdef LIBFFI_ASM
|
|
#define FFI_HIDDEN(name) .hidden name
|
|
#else
|
|
#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
|
|
#endif
|
|
#else
|
|
#ifdef LIBFFI_ASM
|
|
#define FFI_HIDDEN(name)
|
|
#else
|
|
#define FFI_HIDDEN
|
|
#endif
|
|
#endif
|
|
|