ffitest.h (ffi_type_mylong): Remove definition.
[gcc.git] / libffi / ChangeLog
index f8fa5743bbeb5984bba8478d261d11c50f59e7d0..947621fc249078f335d312f3e31fe61a6fd04264 100644 (file)
@@ -1,3 +1,347 @@
+2007-08-08  David Daney  <ddaney@avtrex.com>
+
+       * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
+       * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
+       specifiers.
+       * testsuite/libffi.call/nested_struct1.c (main): Ditto.
+       * testsuite/libffi.call/cls_sint.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct9.c (main): Ditto.
+       * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
+       * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn1.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn3.c (main): Ditto.
+       * testsuite/libffi.call/return_dbl2.c (main): Ditto.
+       * testsuite/libffi.call/cls_sshort.c (main): Ditto.
+       * testsuite/libffi.call/return_fl3.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn5.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct10.c (main): Ditto.
+       * testsuite/libffi.call/return_ll1.c (main): Ditto.
+       * testsuite/libffi.call/cls_8byte.c (main): Ditto.
+       * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
+       * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
+       * testsuite/libffi.call/cls_20byte.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct2.c (main): Ditto.
+       * testsuite/libffi.call/cls_24byte.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct6.c (main): Ditto.
+       * testsuite/libffi.call/cls_uint.c (main): Ditto.
+       * testsuite/libffi.call/cls_12byte.c (main): Ditto.
+       * testsuite/libffi.call/cls_16byte.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn0.c (main): Ditto.
+       * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn2.c (main): Ditto.
+       * testsuite/libffi.call/return_dbl1.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn4.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn6.c (main): Ditto.
+       * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
+
+2007-08-07  Andrew Haley  <aph@redhat.com>
+
+       * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
+       checkin.
+
+2007-08-06  Andrew Haley  <aph@redhat.com>
+
+       PR testsuite/32843
+       * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
+       FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
+       FFI_TYPE_SINT32.
+
+2007-08-02  David Daney  <ddaney@avtrex.com>
+
+       * testsuite/libffi.call/return_ul.c (main): Define return type as
+       ffi_arg.  Use proper printf conversion specifier.
+       
+2007-07-30  Andrew Haley  <aph@redhat.com>
+
+       PR testsuite/32843
+       * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
+       signed/unsigned int8/16.
+       * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
+       Use a jump table.
+       Remove code to pop args from the stack after call.
+       Special-case signed/unsigned int8/16.
+       * testsuite/libffi.call/return_sc.c (main): Revert.
+
+2007-07-26  Richard Guenther  <rguenther@suse.de>
+
+       PR testsuite/32843
+       * testsuite/libffi.call/return_sc.c (main): Verify call
+       result as signed char, not ffi_arg.
+
+2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
+       * configure: Regenerate.
+
+2007-07-11  David Daney  <ddaney@avtrex.com>
+
+       * src/mips/ffi.c: Don't include sys/cachectl.h.
+       (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
+       cacheflush().
+
+2007-05-18  Aurelien Jarno  <aurelien@aurel32.net>
+
+       * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
+       from (ffi_prep_closure): ... this.
+       (FFI_INIT_TRAMPOLINE): Adjust.
+
+2005-12-31  Phil Blundell  <pb@reciva.com>
+
+       * src/arm/ffi.c (ffi_prep_incoming_args_SYSV, 
+        ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
+       * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
+       * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
+       (FFI_CLOSURES): Enable closure support.
+
+2007-07-03  Andrew Haley  <aph@hedges.billgatliff.com>
+
+        * testsuite/libffi.call/cls_multi_ushort.c,
+        testsuite/libffi.call/cls_align_uint16.c,
+        testsuite/libffi.call/nested_struct1.c,
+        testsuite/libffi.call/nested_struct3.c,
+        testsuite/libffi.call/cls_7_1_byte.c,
+        testsuite/libffi.call/cls_double.c,
+        testsuite/libffi.call/nested_struct5.c,
+        testsuite/libffi.call/nested_struct7.c,
+        testsuite/libffi.call/cls_sint.c,
+        testsuite/libffi.call/nested_struct9.c,
+        testsuite/libffi.call/cls_20byte1.c,
+        testsuite/libffi.call/cls_multi_sshortchar.c,
+        testsuite/libffi.call/cls_align_sint64.c,
+        testsuite/libffi.call/cls_3byte2.c,
+        testsuite/libffi.call/cls_multi_schar.c,
+        testsuite/libffi.call/cls_multi_uchar.c,
+        testsuite/libffi.call/cls_19byte.c,
+        testsuite/libffi.call/cls_9byte1.c,
+        testsuite/libffi.call/cls_align_float.c,
+        testsuite/libffi.call/closure_fn1.c,
+        testsuite/libffi.call/problem1.c,
+        testsuite/libffi.call/closure_fn3.c,
+        testsuite/libffi.call/cls_sshort.c,
+        testsuite/libffi.call/closure_fn5.c,
+        testsuite/libffi.call/cls_align_double.c,
+        testsuite/libffi.call/cls_2byte.c,
+        testsuite/libffi.call/nested_struct.c,
+        testsuite/libffi.call/nested_struct10.c,
+        testsuite/libffi.call/cls_4byte.c,
+        testsuite/libffi.call/cls_6byte.c,
+        testsuite/libffi.call/cls_8byte.c,
+        testsuite/libffi.call/cls_multi_sshort.c,
+        testsuite/libffi.call/cls_align_uint32.c,
+        testsuite/libffi.call/cls_align_sint16.c,
+        testsuite/libffi.call/cls_float.c,
+        testsuite/libffi.call/cls_20byte.c,
+        testsuite/libffi.call/cls_5_1_byte.c,
+        testsuite/libffi.call/nested_struct2.c,
+        testsuite/libffi.call/cls_24byte.c,
+        testsuite/libffi.call/nested_struct4.c,
+        testsuite/libffi.call/nested_struct6.c,
+        testsuite/libffi.call/cls_64byte.c,
+        testsuite/libffi.call/nested_struct8.c,
+        testsuite/libffi.call/cls_uint.c,
+        testsuite/libffi.call/cls_multi_ushortchar.c,
+        testsuite/libffi.call/cls_schar.c,
+        testsuite/libffi.call/cls_uchar.c,
+        testsuite/libffi.call/cls_align_uint64.c,
+        testsuite/libffi.call/cls_ulonglong.c,
+        testsuite/libffi.call/cls_align_longdouble.c,
+        testsuite/libffi.call/cls_1_1byte.c,
+        testsuite/libffi.call/cls_12byte.c,
+        testsuite/libffi.call/cls_3_1byte.c,
+        testsuite/libffi.call/cls_3byte1.c,
+        testsuite/libffi.call/cls_4_1byte.c,
+        testsuite/libffi.call/cls_6_1_byte.c,
+        testsuite/libffi.call/cls_16byte.c,
+        testsuite/libffi.call/cls_18byte.c,
+        testsuite/libffi.call/closure_fn0.c,
+        testsuite/libffi.call/cls_9byte2.c,
+        testsuite/libffi.call/closure_fn2.c,
+        testsuite/libffi.call/closure_fn4.c,
+        testsuite/libffi.call/cls_ushort.c,
+        testsuite/libffi.call/closure_fn6.c,
+        testsuite/libffi.call/cls_5byte.c,
+        testsuite/libffi.call/cls_align_pointer.c,
+        testsuite/libffi.call/cls_7byte.c,
+        testsuite/libffi.call/cls_align_sint32.c,
+        testsuite/libffi.special/unwindtest_ffi_call.cc,
+        testsuite/libffi.special/unwindtest.cc: Enable for ARM.
+
+2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * aclocal.m4: Regenerated.
+
+2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure: Regenerate.
+
+2007-05-23  Steve Ellcey  <sje@cup.hp.com>
+
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * aclocal.m4: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2007-05-10  Roman Zippel <zippel@linux-m68k.org>
+
+       * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
+       ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
+       * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
+       * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
+       (FFI_CLOSURES): Enable closure support.
+
+2007-05-10  Roman Zippel <zippel@linux-m68k.org>
+
+       * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
+       * configure: Regenerate.
+       * fficonfig.h.in: Regenerate.
+       * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
+       CFI_OFFSET,CFI_DEF_CFA): New macros.
+       (ffi_call_SYSV): Add callframe annotation.
+
+2007-05-10  Roman Zippel <zippel@linux-m68k.org>
+
+       * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
+       numerous test suite failures.
+       * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
+
+2007-04-11  Paolo Bonzini  <bonzini@gnu.org>
+
+       * Makefile.am (EXTRA_DIST): Bring up to date.
+       * Makefile.in: Regenerate.
+       * src/frv/eabi.S: Remove RCS keyword.
+
+2007-04-06  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+2007-04-06  Tom Tromey  <tromey@redhat.com>
+
+       PR libffi/31491:
+       * README: Fixed bug in example.
+
+2007-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * src/closures.c: Include sys/statfs.h.
+       (_GNU_SOURCE): Define on Linux.
+       (FFI_MMAP_EXEC_SELINUX): Define.
+       (selinux_enabled): New variable.
+       (selinux_enabled_check): New function.
+       (is_selinux_enabled): Define.
+       (dlmmap): Use it.
+
+2007-03-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       * 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. 
+
+2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
+       patch.
+       (ffi_prep_closure_loc): Remove unneeded casts.  Add needed ones.
+
+2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
+       (ffi_prep_closure_loc): New.
+       (ffi_prep_raw_closure_loc): New.
+       (ffi_prep_java_raw_closure_loc): New.
+       * src/closures.c: New file.
+       * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
+       Replace sflags with exec_offset.
+       [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
+       sub_segment_exec_offset): New macros.
+       (get_segment_flags, set_segment_flags, check_segment_merge): New
+       macros.
+       (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
+       (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
+       destroy_mspace): Use new macros.
+       (sys_alloc): Silence warning.
+       * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
+       * Makefile.in: Rebuilt.
+       * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
+       terms of ffi_prep_closure_loc.
+       * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
+       from...
+       (ffi_prep_raw_closure): ... this.  Re-implement in terms of the
+       renamed version.
+       * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
+       adjusted from...
+       (ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
+       the renamed version.
+       * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
+       (ffi_prep_closure): ... this.
+       * src/pa/ffi.c: Likewise.
+       * src/cris/ffi.c: Likewise.  Adjust.
+       * src/frv/ffi.c: Likewise.
+       * src/ia64/ffi.c: Likewise.
+       * src/mips/ffi.c: Likewise.
+       * src/powerpc/ffi_darwin.c: Likewise.
+       * src/s390/ffi.c: Likewise.
+       * src/sh/ffi.c: Likewise.
+       * src/sh64/ffi.c: Likewise.
+       * src/sparc/ffi.c: Likewise.
+       * src/x86/ffi64.c: Likewise.
+       * src/x86/ffi.c: Likewise.
+       (FFI_INIT_TRAMPOLINE): Adjust.
+       (ffi_prep_raw_closure_loc): Renamed and adjusted from...
+       (ffi_prep_raw_closure): ... this.
+       * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
+       (ffi_prep_closure): ... this.
+       (flush_icache): Adjust.
+
+2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
+       Lea's malloc.
+
+2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * Makefile.am: Add dummy install-pdf target.
+       * Makefile.in: Regenerate
+
+2007-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
+       ffi_closure_helper_SYSV): Add long double handling.
+
+2007-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
+       immediately after bctrl instruction.
+
+2007-01-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Makefile.am (all-recursive, install-recursive,
+       mostlyclean-recursive, clean-recursive, distclean-recursive,
+       maintainer-clean-recursive): Add missing targets.
+       * Makefile.in: Rebuilt.
+
 2006-12-14  Andreas Tobler  <a.tobler@schweiz.org>
 
        * configure.ac: Add TARGET for x86_64-*-darwin*.