* configure.ac: Tidy target case.
(HAVE_LONG_DOUBLE): Allow the target to override.
* configure: Regenerate.
* include/ffi.h.in: Don't define ffi_type_foo if
LIBFFI_HIDE_BASIC_TYPES is defined.
(ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
to ffi_type_double.
* types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
(FFI_TYPEDEF, ffi_type_void): Mark the data const.
(ffi_type_longdouble): Special case for Alpha. Don't define
if long double == double.
* src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
(ffi_prep_cif_machdep): Handle it as the 128-bit type.
(ffi_call, ffi_closure_osf_inner): Likewise.
(ffi_closure_osf_inner): Likewise. Mark hidden.
(ffi_call_osf, ffi_closure_osf): Mark hidden.
* src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
* src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
(load_table): Handle 128-bit long double.
* testsuite/libffi.call/float4.c: Add -mieee for alpha.
From-SVN: r123622
* testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
Use 'volatile float sum' to create sum of floats to avoid false
negative due to excess precision on ix86 targets.
(main): Ditto.
From-SVN: r123180
2007-01-17 Jack Howarth <howarth@bromo.med.uc.edu>
boehm-gc/
* aclocal.m4: Regenerate to use multi.m4.
* configure: Regenerate.
* Makefile.in: Regenerate.
zlib/
* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libffi/
* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libjava/
* configure.ac: Use multi.m4 from aclocal rather than custom
code. Use multi_basedir instead libgcj_basedir. Test for
/proc/self/exe when not cross-compiling.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libjava/classpath/
* configure.ac: Use multi.m4 from aclocal rather than
custom code. Use multi_basedir instead libgcj_basedir.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
libjava/libltdl/
* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
* configure.ac: Use multi.m4 from aclocal rather than
custom code.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r120870
2006-12-14 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Add TARGET for x86_64-*-darwin*.
* Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
for X86_DARWIN.
* src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
* src/x86/darwin64.S: New file for x86_64-*-darwin* support.
* configure: Regenerate.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
ffi_call only.
From-SVN: r119856
2006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.am: Add PA_HPUX port.
* Makefile.in: Regenerate.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* configure.ac: Add PA_HPUX rules.
* configure: Regenerate.
* src/pa/ffitarget.h: Rename linux target to PA_LINUX.
Add PA_HPUX and PA64_HPUX.
Rename FFI_LINUX ABI to FFI_PA32 ABI.
(FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
(FFI_TYPE_SMALL_STRUCT2): Define.
(FFI_TYPE_SMALL_STRUCT4): Likewise.
(FFI_TYPE_SMALL_STRUCT8): Likewise.
(FFI_TYPE_SMALL_STRUCT3): Redefine.
(FFI_TYPE_SMALL_STRUCT5): Likewise.
(FFI_TYPE_SMALL_STRUCT6): Likewise.
(FFI_TYPE_SMALL_STRUCT7): Likewise.
* src/pa/ffi.c (ROUND_DOWN): Delete.
(fldw, fstw, fldd, fstd): Use '__asm__'.
(ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
(ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
Simplify incrementing of stack slot variable. Change type of local
'n' to unsigned int.
(ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
double on PA_HPUX.
(ffi_prep_cif_machdep): Likewise.
(ffi_call): Likewise.
(ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
return type to ffi_status. Simplify incrementing of stack slot
variable. Only copy floating point argument registers when PA_LINUX
is true. Reformat debug statement.
Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
FFI_TYPE_SMALL_STRUCT8.
(ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
declaration.
(ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
Add nops to cache flush. Add trampoline for PA_HPUX.
* src/pa/hpux32.S: New file.
* src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
ffi_prep_args_LINUX to ffi_prep_args_pa32.
Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
argument type checks so that common argument types appear first.
(ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch>
From-SVN: r112719
2006-03-01 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
args and userdata unused.
(closure_test_fn1): Mark cif and userdata unused.
(main): Remove unused res.
From-SVN: r111583
2006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/return_fl2.c (return_fl): Remove static
declaration to avoid a false negative on ix86. See PR323.
From-SVN: r111314
2006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
is fixed.
* testsuite/libffi.call/nested_struct4.c: Likewise.
From-SVN: r111208
2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
definition.
* testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
here to be used by other test cases too.
* testsuite/libffi.call/nested_struct10.c: New test case.
* testsuite/libffi.call/nested_struct9.c: Likewise.
* testsuite/libffi.call/nested_struct8.c: Likewise.
* testsuite/libffi.call/nested_struct7.c: Likewise.
* testsuite/libffi.call/nested_struct6.c: Likewise.
* testsuite/libffi.call/nested_struct5.c: Likewise.
* testsuite/libffi.call/nested_struct4.c: Likewise.
From-SVN: r111151
* testsuite/libffi.call/float1.c (value_type): New typedef.
(CANARY): New define.
(main): Check for result buffer overflow.
* src/powerpc/linux64.S: Handle linux64 long double returns.
* src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
(ffi_prep_cif_machdep): Handle linux64 long double returns.
From-SVN: r104660
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
Do not set tool_include_dir.
* aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
Regenerate.
* include/Makefile.am: Set gcc_version and toollibffidir.
* include/Makefile.in: Regenerate.
From-SVN: r96823
* lib/target-libpath.exp: New file defining set_ld_library_path_env_vars
and restore_ld_library_path_env_vars.
* g++.dg/compat/compat.exp, lib/g++.exp, lib/gcc-dg.exp,
lib/gfortran.exp, lib/objc.exp, lib/treelang.exp: Use new procs.
* ada/acats/run_acats (LD_LIBRARY_PATH): Add previous LD_LIBRARY_PATH
to LD_LIBRARY_PATH. Export LD_LIBRARY_PATH.
* testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
* testsuite/lib/libjava.exp,
testsuite/libjava.jacks/jacks.exp: Use new procs in target-libpath.exp.
* testsuite/lib/libmudflap.exp: Use new procs in target-libpath.exp.
* testsuite/lib/libstdc++.exp: Use new procs in target-libpath.exp.
From-SVN: r91137
* testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
(libffi_exit): New function.
(libffi_init): Build the testglue wrapper if needed.
From-SVN: r89636
gcc/testsuite:
PR other/18138
* lib/g++.exp: Accept more than one multilib libgcc.
* lib/gcc-dg.exp: Likewise.
* lib/objc.exp: Likewise.
* lib/treelang.exp: Likewise.
* lib/gfortran.exp: Likewise.
libffi:
PR other/18138
* testsuite/lib/libffi-dg.exp: Accept more than one multilib
libgcc.
libjava:
PR other/18138
* testsuite/lib/libjava.exp: Accept more than one multilib
libgcc.
libmudflap!:
PR other/18138
* testsuite/lib/libmudflap.exp: Accept more than one multilib
libgcc.
libstdc++-v3:
PR other/18138
* testsuite/lib/libstdc++.exp: Accept more than one multilib
libgcc.
From-SVN: r89528
2004-09-14 H.J. Lu <hongjiu.lu@intel.com>
PR libgcj/17465
* testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
DYLD_LIBRARY_PATH.
From-SVN: r87511
2004-08-30 Anthony Green <green@redhat.com>
* Makefile.am: Add frv support.
* Makefile.in, testsuite/Makefile.in: Rebuilt.
* configure.ac: Read configure.host.
* configure, aclocal.m4: Rebuilt.
* configure.host: New file. frv-elf needs libgloss.
* include/ffi.h.in: Force ffi_closure to have a nice big (8)
alignment. This is needed to frv and should harm the others.
* include/ffi_common.h (ALIGN_DOWN): New macro.
* src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
From-SVN: r86779
2004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
Paolo Bonzini <bonzini@gnu.org>
* Makefile.am (AUTOMAKE_OPTIONS): Set them.
Remove VPATH. Remove rules for object files. Remove multilib support.
(AM_CCASFLAGS): Add.
* configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
(AC_PREREQ): Bump version to 2.59.
(AC_INIT): Fill with version info and bug address.
(ORIGINAL_LD_FOR_MULTILIBS): Remove.
(AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
De-precious CC so that the right flags are passed down to multilibs.
(AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
(AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
(AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
* configure: Rebuilt.
* aclocal.m4: Likewise.
* Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r79341
2004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
as of type ffi_arg.
* testsuite/libffi.call/struct3.c (main): Fix CHECK.
From-SVN: r76513
2003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.in: Rebuilt.
* configure: Likewise.
* testsuite/libffi.special/unwindtest.cc: Convert the mmap to
the right type.
From-SVN: r73837
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in: AC_LINK_FILES(ffitarget.h).
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
Avoid that ffi.h includes fficonfig.h.
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(TARGET_SRC_MIPS_SGI): Removed.
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(MIPS_SGI): Removed.
(CLEANFILES): Removed.
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
targets.
* acconfig.h: Removed.
* configure.in: Compute sizeofs only for double and long double.
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
into AC_DEFINE instead of using acconfig.h. Create
include/ffitarget.h instead of include/fficonfig.h. Rename
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
AC_DEFINE EH_FRAME_FLAGS.
* include/Makefile.am (DISTCLEANFILES): New automake macro.
(hack_DATA): Add ffitarget.h.
* include/ffi.h.in: Remove all system specific definitions.
Declare raw API even if it is not installed, why bother?
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
* include/ffi_common.h (bool): Do not define.
(ffi_assert): Accept failed assertion.
(ffi_type_test): Return void and accept file/line.
(FFI_ASSERT): Pass stringized failed assertion.
(FFI_ASSERT_AT): New macro.
(FFI_ASSERT_VALID_TYPE): New macro.
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
UINT64, SINT64): Define here with gcc's __attribute__ macro
instead of in ffi.h
(FLOAT32, ALIGN): Define here instead of in ffi.h
* include/ffi-mips.h: Removed. Its content moved to
src/mips/ffitarget.h after separating assembly and C sections.
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
SIZEOF_ARG -> FFI_SIZEOF_ARG.
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
* src/debug.c (ffi_assert): Accept stringized failed assertion.
(ffi_type_test): Rewritten.
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
FFI_ASSERT_VALID_TYPE.
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
src/s390/ffitarget.h, src/sh/ffitarget.h,
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
src/x86/ffitarget.h: New files.
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
src/powerpc/aix.S, src/powerpc/darwin.S,
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
include fficonfig.h
From-SVN: r72766
2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
SPARC64. Cleanup whitespaces.
From-SVN: r71982