aboutsummaryrefslogtreecommitdiff
path: root/libffi
AgeCommit message (Collapse)AuthorFilesLines
2009-12-26ffi.c (ffi_prep_args_SYSV): Advance intarg_count when a float arguments is ↵Andreas Schwab2-176/+186
passed in memory. * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count when a float arguments is passed in memory. (ffi_closure_helper_SYSV): Mark general registers as used up when a 64bit or soft-float long double argument is passed in memory. From-SVN: r155473
2009-12-26Fix ChangeLog entry dateAnthony Green1-1/+1
From-SVN: r155472
2009-12-26Fix libffi docsMatthias Klose3-2/+7
From-SVN: r155471
2009-12-26IRIX supportFrank Everdij6-10/+61
From-SVN: r155470
2009-12-26avr32 libffi portBradley Smith8-27/+763
From-SVN: r155469
2009-12-21configure.ac: Make i?86 build on FreeBSD and OpenBSD.Andreas Tobler3-2/+7
2009-12-21 Andreas Tobler <a.tobler@schweiz.org> * configure.ac: Make i?86 build on FreeBSD and OpenBSD. * configure: Regenerate. From-SVN: r155373
2009-12-15ffitest.h: Define PRIuPTR on PA HP-UX.John David Anglin2-0/+9
* testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX. From-SVN: r155277
2009-12-14ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE type on HP-UX.John David Anglin2-0/+12
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE type on HP-UX. From-SVN: r155205
2009-12-11ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long double' arguments.Eric Botcazou2-0/+10
* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long double' arguments. From-SVN: r155152
2009-12-11* testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.Eric Botcazou2-0/+13
From-SVN: r155151
2009-12-10re PR libffi/40700 (All amd64 libffi execution tests fail on Solaris 10/x86)Rainer Orth2-1/+12
PR libffi/40700 * src/closures.c [X86_64 && __sun__ && __svr4__] (FFI_MMAP_EXEC_WRIT): Define. From-SVN: r155124
2009-12-08stret_medium.c: Remove xfail for mips*-*-*David Daney7-8/+17
2009-12-08 David Daney <ddaney@caviumnetworks.com> * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-* * testsuite/libffi.call/cls_align_longdouble_split2.c: Same. * testsuite/libffi.call/stret_large.c: Same. * testsuite/libffi.call/cls_align_longdouble_split.c: Same. * testsuite/libffi.call/stret_large2.c: Same. * testsuite/libffi.call/stret_medium2.c: Same. From-SVN: r155093
2009-12-07aix_closure.S (libffi_closure_ASM): Fix tablejump typo.David Edelsohn2-2/+7
* src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump typo. From-SVN: r155070
2009-12-05aix.S: Update AIX32 code to be consistent with AIX64 code.David Edelsohn3-174/+191
* src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64 code. * src/powerpc/aix_closure.s: Same. From-SVN: r155016
2009-12-05Sync from git Libtool and regenerate.Ralf Wildenhues6-435/+563
/: PR target/38384 PR bootstrap/40972 * libtool.m4: Sync from git Libtool. * ltoptions.m4: Likewise. * ltversion.m4: Likewise. * lt~obsolete.m4: Likewise. * ltmain.sh: Likewise. boehm-gc/: * Makefile.in: Regenerate. * configure: Regenerate. * include/Makefile.in: Regenerate. fixincludes/: * configure: Regenerate. gcc/: * configure: Regenerate. libffi/: * Makefile.in: Regenerate. * configure: Regenerate. * include/Makefile.in: Regenerate. * man/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. libgfortran/: * Makefile.in: Regenerate. * configure: Regenerate. libgomp/: * Makefile.in: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. libjava/classpath/: * Makefile.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * doc/api/Makefile.in: Regenerate. * examples/Makefile.in: Regenerate. * external/Makefile.in: Regenerate. * external/jsr166/Makefile.in: Regenerate. * external/relaxngDatatype/Makefile.in: Regenerate. * external/sax/Makefile.in: Regenerate. * external/w3c_dom/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * lib/Makefile.in: Regenerate. * native/Makefile.in: Regenerate. * native/fdlibm/Makefile.in: Regenerate. * native/jawt/Makefile.in: Regenerate. * native/jni/Makefile.in: Regenerate. * native/jni/classpath/Makefile.in: Regenerate. * native/jni/gconf-peer/Makefile.in: Regenerate. * native/jni/gstreamer-peer/Makefile.in: Regenerate. * native/jni/gtk-peer/Makefile.in: Regenerate. * native/jni/java-io/Makefile.in: Regenerate. * native/jni/java-lang/Makefile.in: Regenerate. * native/jni/java-math/Makefile.in: Regenerate. * native/jni/java-net/Makefile.in: Regenerate. * native/jni/java-nio/Makefile.in: Regenerate. * native/jni/java-util/Makefile.in: Regenerate. * native/jni/midi-alsa/Makefile.in: Regenerate. * native/jni/midi-dssi/Makefile.in: Regenerate. * native/jni/native-lib/Makefile.in: Regenerate. * native/jni/qt-peer/Makefile.in: Regenerate. * native/jni/xmlj/Makefile.in: Regenerate. * native/plugin/Makefile.in: Regenerate. * resource/Makefile.in: Regenerate. * scripts/Makefile.in: Regenerate. * tools/Makefile.in: Regenerate. libjava/: * Makefile.in: Regenerate. * configure: Regenerate. * gcj/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. libmudflap/: * Makefile.in: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. libobjc/: * configure: Regenerate. libssp/: * Makefile.in: Regenerate. * configure: Regenerate. libstdc++-v3/: * Makefile.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. lto-plugin/: * configure: Regenerate. * Makefile.in: Regenerate. zlib/: * Makefile.in: Regenerate. * configure: Regenerate. From-SVN: r155012
2009-12-04aix_closure.S: Reorganize 64-bit code to match linux64_closure.S.David Edelsohn2-86/+110
* src/powerpc/aix_closure.S: Reorganize 64-bit code to match linux64_closure.S. From-SVN: r155001
2009-12-04re PR libffi/41908 (closures fail for some structure arguments containing ↵Uros Bizjak3-18/+82
floats) PR libffi/41908 * src/x86/ffi64.c (classify_argument): Update from gcc/config/i386/i386.c. (ffi_closure_unix64_inner): Do not use the address of two consecutive SSE registers directly. * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail for x86_64 linux targets. From-SVN: r154988
2009-12-04ffi_darwin.c (ffi_closure_helper_DARWIN): Increment pfr for long double ↵David Edelsohn2-1/+7
split between fpr13 and stack. * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment pfr for long double split between fpr13 and stack. From-SVN: r154983
2009-12-03ffi_darwin.c (ffi_prep_args): Increment next_arg and fparg_count twice for ↵David Edelsohn2-0/+7
long double. * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and fparg_count twice for long double. From-SVN: r154967
2009-12-03re PR libffi/42243 (powerpc-apple-darwin9 libffi failures)David Edelsohn2-14/+17
PR libffi/42243 * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses. From-SVN: r154956
2009-12-03cls_longdouble_va.c (main): Fix format string.Uros Bizjak2-2/+3
* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string. Remove xfails for x86 linux targets. From-SVN: r154946
2009-12-03cls_longdouble_va.c (main): Fix format string.Uros Bizjak2-1/+5
* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string. From-SVN: r154941
2009-12-02ffi_darwin.c (ffi_prep_args): Fix typo in INT64 case.David Edelsohn2-2/+7
* src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64 case. From-SVN: r154932
2009-12-01aix.S (ffi_call_AIX): Convert to more standard register usage.David Edelsohn4-115/+100
* src/powerpc/aix.S (ffi_call_AIX): Convert to more standard register usage. Call ffi_prep_args directly. Add long double return value support. * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo. Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases. (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit mode. (ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp into case. * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment. Allocate result area between params and FPRs. From-SVN: r154892
2009-11-30re PR libffi/35484 (libffi doesn't support AIX 64bit)David Edelsohn5-77/+468
2009-11-30 David Edelsohn <edelsohn@gnu.org> PR target/35484 * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and AIX64. * src/powerpc/aix.S: Implement AIX64 version. * src/powerpc/aix_closure.S: Implement AIX64 version. (ffi_closure_ASM): Use extsb, lha and displament addresses. * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64 support. (ffi_prep_cif_machdep): Same. (ffi_call): Same. (ffi_closure_helper_DARWIN): Same. From-SVN: r154855
2009-11-02re PR libffi/41908 (closures fail for some structure arguments containing ↵Andreas Tobler2-0/+75
floats) 2009-11-02 Andreas Tobler <a.tobler@schweiz.org> PR libffi/41908 * testsuite/libffi.call/testclosure.c: New test. From-SVN: r153824
2009-09-29win64.S (_ffi_call_win64 stack): Remove for gnu assembly version use of ↵Kai Tietz2-2/+5
___chkstk. 2009-09-28 Kai Tietz <kai.tietz@onevision.com> * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu assembly version use of ___chkstk. From-SVN: r152256
2009-09-23PR libffi/40242, PR libffi/41443Matthias Klose2-8/+24
2009-09-23 Matthias Klose <doko@ubuntu.com> PR libffi/40242, PR libffi/41443 * src/arm/sysv.S (__ARM_ARCH__): Define for processors __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__, __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__. Change the conditionals to __SOFTFP__ || __ARM_EABI__ for -mfloat-abi=softfp to work. From-SVN: r152075
2009-09-17PR testsuite/32843 (strikes again)Loren J. Rittle2-1/+7
2009-09-17 Loren J. Rittle <ljrittle@acm.org> PR testsuite/32843 (strikes again) * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to enable proper extension on char and short. From-SVN: r151819
2009-09-15java_raw_api.c (ffi_java_raw_to_rvalue): Remove special handling for ↵David Daney5-34/+219
FFI_TYPE_POINTER. 2009-09-15 David Daney <ddaney@caviumnetworks.com> * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special handling for FFI_TYPE_POINTER. * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT, FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT, FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT, FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines. (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations. (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float. * src/mips/n32.S (ffi_call_N32): Add handling for soft-float structure and pointer returns. (ffi_closure_N32): Add handling for pointer returns. * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags, calc_n32_return_struct_flags): Handle soft-float. (ffi_prep_cif_machdep): Handle soft-float, fix pointer handling. (ffi_call_N32): Declare proper argument types. (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle soft-float. From-SVN: r151726
2009-08-24Update AC_PREREQ entries to 2.64Ralf Wildenhues2-1/+5
/: * configure.ac (AC_PREREQ): Bump to 2.64. intl/: * configure.ac (AC_PREREQ): Bump to 2.64. libdecnumber/: * configure.ac (AC_PREREQ): Bump to 2.64. libiberty/: * configure.ac (AC_PREREQ): Bump to 2.64. libjava/classpath/: * configure.ac (AC_PREREQ): Bump to 2.64. libjava/: * configure.ac (AC_PREREQ): Bump to 2.64. libjava/libltdl/: * configure.ac (AC_PREREQ): Bump to 2.64. Remove FIXME. libssp/: * configure.ac (AC_PREREQ): Bump to 2.64. libobjc/: * configure.ac (AC_PREREQ): Bump to 2.64. libstdc++-v3/: * configure.ac (AC_PREREQ): Bump to 2.64. libada/: * configure.ac (AC_PREREQ): Bump to 2.64. libgcc/: * configure.ac (AC_PREREQ): Bump to 2.64. libgfortran/: * configure.ac (AC_PREREQ): Bump to 2.64. boehm-gc/: * configure.ac (AC_PREREQ): Bump to 2.64. gnattools/: * configure.ac (AC_PREREQ): Bump to 2.64. gcc/: * configure.ac (AC_PREREQ): Bump to 2.64. fixincludes/: * configure.ac (AC_PREREQ): Bump to 2.64. libmudflap/: * configure.ac (AC_PREREQ): Bump to 2.64. zlib/: * configure.ac (AC_PREREQ): Bump to 2.64. libffi/: * configure.ac (AC_PREREQ): Bump to 2.64. libcpp/: * configure.ac (AC_PREREQ): Bump to 2.64. libgomp/: * configure.ac (AC_PREREQ): Bump to 2.64. From-SVN: r151059
2009-08-22Cleanups after the update to Autoconf 2.64, Automake 1.11.Ralf Wildenhues3-10/+7
/: * configure.ac: Remove --with-datarootdir, --with-docdir, --with-pdfdir, --with-htmldir switches. * configure: Regenerate. gcc/: * configure.ac: Remove --with-datarootdir, --with-docdir, --with-htmldir switches. No need to call AC_SUBST for datarootdir, docdir, htmldir any more. * configure: Regenerate. * doc/install.texi (Configuration): Document --datarootdir, --docdir, --htmldir, --pdfdir; update documentation for --infodir, --mandir. (Prerequisites): Bump Autoconf version to 2.64, Automake to 1.11, M4 to 1.4.6. libgfortran/: * Makefile.am (install-html, install-pdf): Remove. * Makefile.in: Regenerate. libjava/classpath/: * doc/cp-hacking.texinfo (Needed Tools and Libraries): Bump Autoconf version to 2.64, Automake to 1.11, M4 to 1.4.6. libjava/: * HACKING: Use aclocal-1.11 and autoconf-2.64 in example. * Makefile.am (install-html, install-pdf): Remove. * Makefile.in: Regenerate. libstdc++-v3/: * doc/xml/manual/build_hacking.xml: Use tools from Autoconf 2.64 and Automake 1.11 in examples; update link to Autoconf manual page about quadrigraphs. * Makefile.am (install-html, install-pdf): Remove. * Makefile.in: Regenerate. libssp/: * Makefile.am (install-html, install-pdf): Remove. * Makefile.in: Regenerate. boehm-gc/: * Makefile.am (install-html, install-pdf): Remove. * Makefile.in: Regenerate. libmudflap/: * Makefile.am (install-html, install-pdf): Remove. * Makefile.in: Regenerate. zlib/: * Makefile.am (install-html, install-pdf, html): Remove. * Makefile.in: Regenerate. libffi/: * Makefile.am (install-html, install-pdf): Remove. * Makefile.in: Regenerate. libgomp/: * Makefile.am (install-html, install-pdf): Remove. * Makefile.in: Regenerate. From-SVN: r151015
2009-08-22Regenerate tree using Autoconf 2.64 and Automake 1.11.Ralf Wildenhues8-7455/+6380
config/: * override.m4 (_GCC_AUTOCONF_VERSION): Bump to 2.64. : * configure: Regenerate. intl/: * aclocal.m4: Regenerate. * configure: Regenerate. * config.h.in: Regenerate. libiberty/: * config.in: Regenerate. * configure: Regenerate. boehm-gc/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * include/Makefile.in: Regenerate. * include/gc_config.h.in: Regenerate. fixincludes/: * aclocal.m4: Regenerate. * configure: Regenerate. * config.h.in: Regenerate. gcc/: * aclocal.m4: Regenerate. * config.in: Regenerate. * configure: Regenerate. libgcc/: * configure: Regenerate. gnattools/: * configure: Regenerate. libada/: * configure: Regenerate. libcpp/: * aclocal.m4: Regenerate. * config.in: Regenerate. * configure: Regenerate. libdecnumber/: * aclocal.m4: Regenerate. * configure: Regenerate. * config.in: Regenerate. libffi/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * fficonfig.h.in: Regenerate. * include/Makefile.in: Regenerate. * man/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. libgfortran/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. libgomp/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. libjava/classpath/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * doc/api/Makefile.in: Regenerate. * examples/Makefile.in: Regenerate. * external/Makefile.in: Regenerate. * external/jsr166/Makefile.in: Regenerate. * external/relaxngDatatype/Makefile.in: Regenerate. * external/sax/Makefile.in: Regenerate. * external/w3c_dom/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * include/config.h.in: Regenerate. * lib/Makefile.in: Regenerate. * native/Makefile.in: Regenerate. * native/fdlibm/Makefile.in: Regenerate. * native/jawt/Makefile.in: Regenerate. * native/jni/Makefile.in: Regenerate. * native/jni/classpath/Makefile.in: Regenerate. * native/jni/gconf-peer/Makefile.in: Regenerate. * native/jni/gstreamer-peer/Makefile.in: Regenerate. * native/jni/gtk-peer/Makefile.in: Regenerate. * native/jni/java-io/Makefile.in: Regenerate. * native/jni/java-lang/Makefile.in: Regenerate. * native/jni/java-math/Makefile.in: Regenerate. * native/jni/java-net/Makefile.in: Regenerate. * native/jni/java-nio/Makefile.in: Regenerate. * native/jni/java-util/Makefile.in: Regenerate. * native/jni/midi-alsa/Makefile.in: Regenerate. * native/jni/midi-dssi/Makefile.in: Regenerate. * native/jni/native-lib/Makefile.in: Regenerate. * native/jni/qt-peer/Makefile.in: Regenerate. * native/jni/xmlj/Makefile.in: Regenerate. * native/plugin/Makefile.in: Regenerate. * resource/Makefile.in: Regenerate. * scripts/Makefile.in: Regenerate. * tools/Makefile.in: Regenerate. libjava/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * gcj/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * include/config.h.in: Regenerate. * testsuite/Makefile.in: Regenerate. libjava/libltdl/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config-h.in: Regenerate. * configure: Regenerate. libmudflap/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * testsuite/Makefile.in: Regenerate. libobjc/: * aclocal.m4: Regenerate. * configure: Regenerate. * config.h.in: Regenerate. libssp/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. libstdc++-v3/: * Makefile.in: Regenerate. * acinclude.m4: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. zlib/: * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. From-SVN: r151014
2009-07-30extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Do not expand for Autoconf 2.62 or ↵Ralf Wildenhues2-1/+5
newer. config/ * extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Do not expand for Autoconf 2.62 or newer. * tls.m4 (GCC_CHECK_TLS): Fix m4 quotation. * no-executables.m4 (_AC_COMPILER_EXEEXT): Fix m4 quotation. * override.m4 (m4_copy_force, m4_rename_force): Provide macros if not defined. (AC_PREREQ): Use m4_copy_force. boehm-gc/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. libada/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. libffi/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. libgfortran/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. libgomp/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. libjava/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. libmudflap/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. libobjc/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. libssp/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. zlib/ * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. libstdc++-v3/ * acinclude.m4 (GLIBCXX_CONFIGURE): Use m4_rename_force. From-SVN: r150269
2009-07-24re PR libffi/40807 (libffi.call/return_sc.c)Dave Korn4-134/+382
PR libffi/40807 * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending return types for X86_WIN32. * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types. (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV, _ffi_closure_STDCALL): Likewise. * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin. (dlmmap, dlmunmap): Also use these functions on Cygwin. From-SVN: r150042
2009-07-11re PR testsuite/40699 (All sparcv9 libjava execution tests fail on Solaris ↵Richard Sandiford2-4/+29
11/SPARC) gcc/testsuite/ PR testsuite/40699 PR testsuite/40707 PR testsuite/40709 * lib/gcc-defs.exp, lib/target-libpath.exp, lib/objc.exp, lib/gfortran.exp, lib/g++.exp, lib/obj-c++.exp, lib/c-torture.exp, lib/gcc-dg.exp, lib/gnat.exp, g++.dg/compat/compat.exp, g++.dg/compat/struct-layout-1.exp: Revert 2009-06-30 commit. libstdc++-v3/ PR testsuite/40699 PR testsuite/40707 PR testsuite/40709 * testsuite/lib/libstdc++.exp: Revert 2009-06-30 commit. libjava/ PR testsuite/40699 PR testsuite/40707 PR testsuite/40709 * testsuite/lib/libjava.exp: Revert 2009-06-30 commit. libgomp/ PR testsuite/40699 PR testsuite/40707 PR testsuite/40709 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits. * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp, testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits. libffi/ PR testsuite/40699 PR testsuite/40707 PR testsuite/40709 * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and 2009-06-30 commits. libmudflap/ PR testsuite/40699 PR testsuite/40707 PR testsuite/40709 * testsuite/lib/libmudflap.exp: Revert 2009-06-30 commit. From-SVN: r149508
2009-07-01libffi-dg.exp (libffi-init): Set ld_library_path to "" before adding paths.Richard Sandiford2-0/+8
libffi/ * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path to "" before adding paths. (This reinstates an assignment that was removed by my 2009-06-30 commit, but changes the initial value from "." to "".) From-SVN: r149149
2009-07-01re PR testsuite/40601 (Errors in "make check")H.J. Lu2-1/+11
2009-07-01 H.J. Lu <hongjiu.lu@intel.com> PR testsuite/40601 * testsuite/lib/libffi-dg.exp (libffi-init): Properly set gccdir. Adjust ld_library_path for gcc only if gccdir isn't empty. From-SVN: r149145
2009-06-30gcc-defs.exp (gcc-set-multilib-library-path): Delete.Richard Sandiford2-24/+9
gcc/testsuite/ * lib/gcc-defs.exp (gcc-set-multilib-library-path): Delete. * lib/target-libpath.exp (ld_library_path_vars): New variable. (init_ld_library_path_env_vars): New function, replacing the orig_*_saved assignments. Call it after defining it. (set_ld_library_path_env_vars): Rewrite to use ld_library_path_vars. (restore_ld_library_path_env_vars): Likewise. (add_path, find_libgcc_s): New functions. * lib/objc.exp (objc_init): Use find_libgcc_s instead of gcc-set-multilib-library-path. (objc_target_compile): Don't add "." to ld_library_path. Use add_path. * lib/gfortran.exp (gfortran_link_flags): Don't add "." to ld_library_path. Use add_path. Use find_libgcc_s instead of gcc-set-multilib-library-path. * lib/g++.exp (g++_link_flags): Likewise. * lib/obj-c++.exp (obj-c++_link_flags): Likewise. * lib/c-torture.exp: Do not manipulate ld_library_path at the top level; do it... (c-torture-execute): ...here instead. Use $ld_library_path_multilib to tell when this needs to happen. Use find_libgcc_s instead of gcc-set-multilib-library-path. * lib/gcc-dg.exp: Likewise. * lib/gnat.exp (gnat_target_compile): Don't add "." to ld_library_path. * g++.dg/compat/compat.exp (alt_ld_library_path): Don't add "." unless it is in $ALT_LD_LIBRARY_PATH. * g++.dg/compat/struct-layout-1.exp (alt_ld_library_path): Likewise. libffi/ * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "." to ld_library_path. Use add_path. Add just find_libgcc_s to ld_library_path, not every libgcc multilib directory. libgomp/ * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to ld_library_path. Use add_path. Add just find_libgcc_s to ld_library_path, not every libgcc multilib directory. * testsuite/libgomp.c/c.exp (ld_library_path): Don't call gcc-set-multilib-library-path; rely on $always_ld_library_path instead. * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise. Use add_path. * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise. libjava/ * testsuite/lib/libjava.exp (libjava_init): Just add find_libgcc_s to libjava_libgcc_s_path, rather than every libgcc multilib directory. (libjava_arguments): Explain why we add "." to ld_library_path. (gcj_invoke, exec_gij, libjava_invoke): Use add_path. libmudflap/ * testsuite/lib/libmudflap.exp (libmudflap-init): Don't add "." to ld_library_path. Use add_path. Add just find_libgcc_s to ld_library_path, not every libgcc multilib directory. libstdc++-v3/ * testsuite/lib/libstdc++.exp (libstdc++_init): Don't add "." to ld_library_path. Use add_path. Add just find_libgcc_s to ld_library_path, not every libgcc multilib directory. From-SVN: r149113
2009-06-16ffi.c: Avoid clobbering cr3 and cr4, which are supposed to be callee-saved.Wim Lewis3-29/+26
2009-06-16 Wim Lewis <wiml@hhhh.org> * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are supposed to be callee-saved. * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of return buffer for odd-size structs. From-SVN: r148543
2009-06-16re PR libffi/40444 (libffi badly broken with -m64 by some revision between ↵Andreas Tobler2-0/+13
148383 and 148472.) 2009-06-16 Andreas Tobler <a.tobler@schweiz.org> PR libffi/40444 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add allow_stack_execute for Darwin. From-SVN: r148542
2009-06-16configure.ac (TARGETDIR): Add missing blank lines.Andrew Haley3-1/+33
2009-06-16 Andrew Haley <aph@redhat.com> * configure.ac (TARGETDIR): Add missing blank lines. * configure: Regenerate. From-SVN: r148538
2009-06-16cls_align_sint64.c, [...]: Fix printf format specifiers.Andrew Haley9-15/+46
2009-06-16 Andrew Haley <aph@redhat.com> * testsuite/libffi.call/cls_align_sint64.c, testsuite/libffi.call/cls_align_uint64.c, testsuite/libffi.call/cls_longdouble_va.c, testsuite/libffi.call/cls_ulonglong.c, testsuite/libffi.call/return_ll1.c, testsuite/libffi.call/stret_medium2.c: Fix printf format specifiers. * testsuite/libffi.call/ffitest.h, testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define. From-SVN: r148521
2009-06-15err_bad_typedef.c: xfail everywhere.Andrew Haley3-2/+7
2009-06-15 Andrew Haley <aph@redhat.com> * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere. * testsuite/libffi.call/err_bad_abi.c: Likewise. From-SVN: r148499
2009-06-15Fix bad checkin.Andrew Haley1-123/+0
From-SVN: r148498
2009-06-12[multiple changes]Andrew Haley104-1378/+1558
2009-06-12 Andrew Haley <aph@redhat.com> * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c, testsuite/libffi.call/cls_align_uint64.c, testsuite/libffi.call/cls_ulonglong.c, testsuite/libffi.call/return_ll1.c, testsuite/libffi.call/stret_medium2.c: Fix printf format specifiers. testsuite/libffi.special/unwindtest.cc: include stdint.h. 2009-06-11 Timothy Wall <twall@users.sf.net> * Makefile.am, configure.ac, include/ffi.h.in, include/ffi_common.h, src/closures.c, src/dlmalloc.c, src/x86/ffi.c, src/x86/ffitarget.h, src/x86/win64.S (new), README: Added win64 support (mingw or MSVC) * Makefile.in, include/Makefile.in, man/Makefile.in, testsuite/Makefile.in, configure, aclocal.m4: Regenerated * ltcf-c.sh: properly escape cygwin/w32 path * man/ffi_call.3: Clarify size requirements for return value. * src/x86/ffi64.c: Fix filename in comment. * src/x86/win32.S: Remove unused extern. * testsuite/libffi.call/closure_fn0.c, testsuite/libffi.call/closure_fn1.c, testsuite/libffi.call/closure_fn2.c, testsuite/libffi.call/closure_fn3.c, testsuite/libffi.call/closure_fn4.c, testsuite/libffi.call/closure_fn5.c, testsuite/libffi.call/closure_fn6.c, testsuite/libffi.call/closure_stdcall.c, testsuite/libffi.call/cls_12byte.c, testsuite/libffi.call/cls_16byte.c, testsuite/libffi.call/cls_18byte.c, testsuite/libffi.call/cls_19byte.c, testsuite/libffi.call/cls_1_1byte.c, testsuite/libffi.call/cls_20byte.c, testsuite/libffi.call/cls_20byte1.c, testsuite/libffi.call/cls_24byte.c, testsuite/libffi.call/cls_2byte.c, testsuite/libffi.call/cls_3_1byte.c, testsuite/libffi.call/cls_3byte1.c, testsuite/libffi.call/cls_3byte2.c, testsuite/libffi.call/cls_4_1byte.c, testsuite/libffi.call/cls_4byte.c, testsuite/libffi.call/cls_5_1_byte.c, testsuite/libffi.call/cls_5byte.c, testsuite/libffi.call/cls_64byte.c, testsuite/libffi.call/cls_6_1_byte.c, testsuite/libffi.call/cls_6byte.c, testsuite/libffi.call/cls_7_1_byte.c, testsuite/libffi.call/cls_7byte.c, testsuite/libffi.call/cls_8byte.c, testsuite/libffi.call/cls_9byte1.c, testsuite/libffi.call/cls_9byte2.c, testsuite/libffi.call/cls_align_double.c, testsuite/libffi.call/cls_align_float.c, testsuite/libffi.call/cls_align_longdouble.c, testsuite/libffi.call/cls_align_longdouble_split.c, testsuite/libffi.call/cls_align_longdouble_split2.c, testsuite/libffi.call/cls_align_pointer.c, testsuite/libffi.call/cls_align_sint16.c, testsuite/libffi.call/cls_align_sint32.c, testsuite/libffi.call/cls_align_sint64.c, testsuite/libffi.call/cls_align_uint16.c, testsuite/libffi.call/cls_align_uint32.c, testsuite/libffi.call/cls_align_uint64.c, testsuite/libffi.call/cls_dbls_struct.c, testsuite/libffi.call/cls_double.c, testsuite/libffi.call/cls_double_va.c, testsuite/libffi.call/cls_float.c, testsuite/libffi.call/cls_longdouble.c, testsuite/libffi.call/cls_longdouble_va.c, testsuite/libffi.call/cls_multi_schar.c, testsuite/libffi.call/cls_multi_sshort.c, testsuite/libffi.call/cls_multi_sshortchar.c, testsuite/libffi.call/cls_multi_uchar.c, testsuite/libffi.call/cls_multi_ushort.c, testsuite/libffi.call/cls_multi_ushortchar.c, testsuite/libffi.call/cls_pointer.c, testsuite/libffi.call/cls_pointer_stack.c, testsuite/libffi.call/cls_schar.c, testsuite/libffi.call/cls_sint.c, testsuite/libffi.call/cls_sshort.c, testsuite/libffi.call/cls_uchar.c, testsuite/libffi.call/cls_uint.c, testsuite/libffi.call/cls_ulonglong.c, testsuite/libffi.call/cls_ushort.c, testsuite/libffi.call/err_bad_abi.c, testsuite/libffi.call/err_bad_typedef.c, testsuite/libffi.call/float2.c, testsuite/libffi.call/huge_struct.c, testsuite/libffi.call/nested_struct.c, testsuite/libffi.call/nested_struct1.c, testsuite/libffi.call/nested_struct10.c, testsuite/libffi.call/nested_struct2.c, testsuite/libffi.call/nested_struct3.c, testsuite/libffi.call/nested_struct4.c, testsuite/libffi.call/nested_struct5.c, testsuite/libffi.call/nested_struct6.c, testsuite/libffi.call/nested_struct7.c, testsuite/libffi.call/nested_struct8.c, testsuite/libffi.call/nested_struct9.c, testsuite/libffi.call/problem1.c, testsuite/libffi.call/return_ldl.c, testsuite/libffi.call/return_ll1.c, testsuite/libffi.call/stret_large.c, testsuite/libffi.call/stret_large2.c, testsuite/libffi.call/stret_medium.c, testsuite/libffi.call/stret_medium2.c, testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead of checking for MMAP. Use intptr_t instead of long casts. 2009-06-12 Andrew Haley <aph@redhat.com> * Makefile.am: Remove info_TEXINFOS. From-SVN: r148433
2009-06-11cls_longdouble_va.c: Add xfail sh*-*-linux-*.Kaz Kojima4-4/+10
* testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*. * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*. * testsuite/libffi.call/err_bad_typedef.c: Likewise. From-SVN: r148402
2009-06-09freebsd.S: Add missing file.Andrew Haley2-0/+462
2009-06-09 Andrew Haley <aph@redhat.com> * src/x86/freebsd.S: Add missing file. From-SVN: r148313
2009-06-09Import from libffi 3.0.8:Andrew Haley17-105/+2089
2009-06-08 Andrew Haley <aph@redhat.com> Import from libffi 3.0.8: * doc/libffi.texi: New file. * doc/libffi.info: Likewise. * doc/stamp-vti: Likewise. * man/Makefile.am: New file. * man/ffi_call.3: New file. * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S, src/dlmalloc.c. (nodist_libffi_la_SOURCES): Add X86_FREEBSD. * configure.ac: Bump version to 3.0.8. parisc*-*-linux*: Add. i386-*-freebsd* | i386-*-openbsd*: Add. powerpc-*-beos*: Add. AM_CONDITIONAL X86_FREEBSD: Add. AC_CONFIG_FILES: Add man/Makefile. * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void). From-SVN: r148309
2009-06-08README: Import from libffi 3.0.8.Andrew Haley2-263/+115
2009-06-08 Andrew Haley <aph@redhat.com> * README: Import from libffi 3.0.8. From-SVN: r148286